MSBuild - Добавление файлов для очистки в сборке
В рамках одного из моих проектов есть задачи "BeforeBuild", которые в конечном итоге генерируют некоторые файлы. В частности, он компилирует небольшой статический класс (включаемый как "не скомпилировать" в проекте) в свой собственный исполняемый файл, а затем выполняет его, передавая внешний файл ввода, выводящий новый сгенерированный класс, который должен быть включен в проект.
Я запрограммировал его, чтобы помещать промежуточные файлы в проекты $(OutDir), но обнаружил, что в "Rebuild" (и в конечном счете "Clean" ) эти файлы не подбираются. Подумав, я понял, что окончательный, сгенерированный класс, который помещается прямо в $(ProjectDir), вероятно, должен быть удален и на "Чистом".
Некоторое исследование в Microsoft.Common.targets показало, что был некоторый "главный список" из промежуточного пути (obj\build\assembly.FileListAbsolute.txt), который был запрошен для удаляемых файлов.
Есть ли какой-то стандартный метод добавления моих новых файлов в этот список в MSBuild, чтобы их очистить, или будет ли такая вещь лучше в целевом переопределении "BeforeClean" (или "AfterClean" )?
Ответы
Ответ 1
Посмотрите Расширение Чистого Процесса для деталей о механизме FileWrites (который является системой, пишущей FileListAbsolute.txt
который вы видите) в этой статье MSBuild от Hashimi. И получите книгу прямо сейчас, если вы собираетесь потратить более 2 часов на написание сценариев сборки в следующем году.