【发布时间】:2016-01-30 21:25:51
【问题描述】:
我的 C++ 项目中包含一个自定义 MSBuild 目标,该目标在 $(OutDir) 文件夹中为给定项目类型的每个项目生成一个数据文件。我将项目类型与属性页架构挂钩,因此您可以在解决方案资源管理器中的文件上选择它,并且我的目标声明输入和输出,以便增量构建工作。我还将我的目标添加到 $(BuildDependsOn) 属性中,以便在构建目标 Visual Studio 调用期间自动评估它。
似乎一切正常,除了一件事:如果我删除了 $(OutDir) 中的一个输出数据文件,然后构建 Visual Studio 什么都不做,并说我的项目是最新的。如果我删除项目生成的 exe 文件或触摸其中一个 MSBuild 脚本的修改时间,Visual Studio 会重新评估目标并发现输出文件丢失,导致使用我的目标重新构建它。
从 MSBuild 诊断日志来看,Visual Studio 似乎在内部维护一些输出文件和输入文件的列表,它会检查这些文件以避免评估 MSBuild 脚本。如何将我的输出文件添加到此列表中?
【问题讨论】:
-
一般来说,你不能做太多。您可以将此报告给 Microsoft Connect,看看其他人是否有解决方法。
-
我投票决定将此问题作为离题结束,因为它与供应商产品相关,而没有太多关于解决此问题的技术细节的公开文档。
-
@LexLi 如果我们经常在没有太多文档的情况下关闭与供应商产品相关的问题,那么将会很多不那么有趣
标签: visual-studio msbuild visual-studio-2015