VS2010总是重建C ++ / CLI项目,因为它找不到项目中不再存在的标题

时间:2013-08-14 09:42:25

标签: visual-studio-2010 c++-cli build-process

我有一个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认为项目已过期?

1 个答案:

答案 0 :(得分:1)

当msbuild tlog文件过时时,偶尔会遇到这种情况。我需要在我的解决方案dir和del / s * .tlog中打开命令提示符,Msbuild将在下一次完整构建期间重新生成它们。

这些是msbuild在尝试确定项目依赖关系时维护的文件。恩。如果您的.rc文件引用.bmp文件但bmp没有显式添加到项目中并且bmp发生更改,则tlog依赖项仍会捕获它并且项目将重建。

此外,您可能已经检查了这一点,但请确保该文件仍未列在解决方案资源管理器中的Header文件文件夹下。如果是,VS会认为它是生成的文件,并且总是希望重建解决方案以生成它。