小编Luc*_*cas的帖子

Visual Studio如何知道我的项目是最新的,所以它可以跳过运行MSBuild?

我有一个自定义的MSBuild目标包含在我的C++项目中,它在$(OutDir)文件夹中为给定项类型的每个项生成一个数据文件.我有一个项目类型与一个属性页面模式连接,所以你可以在解决方案资源管理器中的文件上选择它,我的目标声明输入和输出,所以增量构建工作.我还将目标添加到$(BuildDependsOn)属性中,因此在构建目标Visual Studio调用期间会自动评估它.

除了一件事,一切似乎都有效:如果我删除$(OutDir)中的一个输出数据文件,然后构建Visual Studio什么都不做,并说我的项目是最新的.如果我删除项目生成或触摸其中一个MSBuild脚本的修改时间的exe文件,Visual Studio将重新评估该targ并发现输出文件丢失,导致使用我的目标重建它.

从MSBuild诊断日志记录看起来,Visual Studio在内部维护一些输出文件和输入文件列表,它会检查以避免评估MSBuild脚本.如何将输出文件添加到此列表中?

msbuild visual-studio visual-studio-2015

5
推荐指数
2
解决办法
1754
查看次数