之所以VS 2008项目正在每次重建(Reason why a VS 2008 project is

2019-08-16 23:26发布

有没有办法找出为什么一个项目是一个Build选择操作,在VS 2008中发出的每一次重修的原因吗?

我一直在努力,甚至从Build \配置管理器中删除所有相关性(未经检查的所有组件构建列,但一有问题)。

我得到了相同的结果:每次组件重建。

我不得不提,所有的依赖都建立在同一个目录(有一个共同的输出目录)。

其实这并不是我很清楚什么是VS / MSBuild的算法来决定一个项目是否应该重建与否。 是否检查,看是否存在有上次访问NTFS时间戳比对有问题的组件中的一个较新的依赖(文件/组件)? 也许我可以尝试搜索“攻击”的文件这样。

Answer 1:

你有一个预生成操作定义,更新你的一些输入文件的? 此外,就是始终 triggerd自定义生成步骤可能是原因。

你有什么样的项目类型的?



Answer 2:

有没有在你的应用程序的不同模块/项目之间的循环依赖?



Answer 3:

如果您正在使用更新的AssemblyFileVersion修改AssemblyInfo.cs中(正如我做了定速巡航.NET)例如我发现,它迫使重建。



Answer 4:

这可以通过MSVC引起2008和错误处理(最近添加)预构建的规则。 做一个干净的,密切的MSVC,删除.PCH和.NCB文件,重新打开MSVC和建设。 这应该可以解决了不必要的编译。



Answer 5:

我不是100%肯定,但它似乎与任何警告的项目将始终重建。



Answer 6:

我还没有找到问题的根源,但已经找到一种方法来摆脱的影响:

GetLatestVersion(与“覆盖现有”选项)。

现在一切都OK。

还有一两件事,我发现了,之后不幸的是我已经覆盖与工作区的版本本地项目文件:有在工具-选项-项目和解决方案-建造和运行MSBuild项目生成输出的详细程度的选项。

此选项默认设置为最小 。 如果详细诊断设置编译项目时会记录许多有趣的消息在输出窗口 。 它可以给我指点,为什么该项目每次都被编译。



文章来源: Reason why a VS 2008 project is being rebuilt each time