我有一个Visual Studio解决方案,它在开始调试时总是重新构建一个特定的C++/CLI项目。在this question之后,我发现VS认为缺少一个特定的头文件:
[8392] Project 'c:\projects\CppCliProj\CppCliProj.vcxproj' is not up to date because 1 build inputs were missing.
[8392] devenv.exe Information: 0 :
[8392] up to date is missing: 'C:\PROJECTS\CPPCLIPROJ\STRINGCONVERT.H' 但是,过期的项目并没有提到这个头文件!它曾经被项目引用,但我已经将它作为当前开发的一部分移动到了另一个目录下的另一个项目中。根据ack的说法,项目目录中唯一提到该文件或其.cpp合作伙伴的位置是Debug\CppCliProj.Build.CppClean.log
我试图从项目中重新添加和删除该文件,但VS抱怨具有该名称的文件已经在源代码控制中,尽管我已经告诉TFS它已经移动了。
我如何才能停止认为项目已经过时了呢?
发布于 2013-08-19 00:18:01
当msbuild tlog文件过期时,我偶尔会遇到这种情况。定期地,我需要在我的解决方案目录中打开命令提示符,并且del /s *.tlog Msbuild将在下一次完整构建期间重新生成它们。
这些是msbuild在尝试确定项目依赖关系时维护的文件。例如。如果您的.rc文件引用了一个.bmp文件,但是bmp没有显式地添加到项目中,并且bmp发生了更改,那么tlog依赖项仍然会捕获它,并且项目将重新构建。
此外,您可能已经对此进行了检查,但请确保该文件不会仍然列在解决方案资源管理器中的头文件文件夹下。如果是这样的话,VS会认为它是一个生成的文件,并且总是想要重新构建解决方案来生成它。
https://stackoverflow.com/questions/18228266
复制相似问题