作为我的一个项目的一部分,有“BeforeBuild”任务最终生成一些文件。特别是,它将一个小的静态类(在项目中包含为“不编译”)编译到它自己的可执行文件中,然后执行它,传入一个外部输入文件,输出一个新生成的类,包含在项目中。
我将它编程为将中间文件放在项目$(OutDir)中,但发现在“Rebuild”(最终是“Clean”)中,这些文件没有被拾取。经过一番思考后,我意识到最终生成的类放在$(ProjectDir)中,也应该在“Clean”上删除。
对Microsoft.Common.targets的一些调查显示,有一些来自中间路径(obj \ build \ assembly.FileListAbsolute.txt)的“主列表”被查询要删除的文件。
是否有一些标准方法可以将我的新文件添加到MSBuild中的此列表中以清除它们,或者这种东西在“BeforeClean”(或“AfterClean”)目标覆盖中是否更适合?
答案 0 :(得分:16)
请参阅扩展清洁流程,了解 FileWrites 机制(这是您正在查看的FileListAbsolute.txt
系统)的详细信息{{3 }}。如果你明年要花2个多小时编写构建脚本,那就立即获得MSBuild article by Hashimi。