我有一个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'
但是,过时的项目没有提到这个头文件!它曾经被项目引用,但我已将其作为当前开发的一部分移动到不同目录中的不同项目。根据{{3}},项目目录中提到该文件或其.cpp合作伙伴的唯一位置是Debug\CppCliProj.Build.CppClean.log
我试图从项目中重新添加并重新删除该文件,但是VS抱怨说具有该名称的文件已经在源代码管理中,尽管我告诉TFS它已经移动了。
如何阻止VS认为项目已过期?
答案 0 :(得分:1)
当msbuild tlog文件过时时,偶尔会遇到这种情况。我需要在我的解决方案dir和del / s * .tlog中打开命令提示符,Msbuild将在下一次完整构建期间重新生成它们。
这些是msbuild在尝试确定项目依赖关系时维护的文件。恩。如果您的.rc文件引用.bmp文件但bmp没有显式添加到项目中并且bmp发生更改,则tlog依赖项仍会捕获它并且项目将重建。
此外,您可能已经检查了这一点,但请确保该文件仍未列在解决方案资源管理器中的Header文件文件夹下。如果是,VS会认为它是生成的文件,并且总是希望重建解决方案以生成它。