我还将 C/CLI 和 C# 项目的混合解决方案从 Visual Studio 2008 升级到 Visual Studio 2010。现在在 Visual Studio 2010 中,一个 C/CLI 项目总是过时。
即使它之前已经编译和链接F5并被点击,消息框“项目已过期。您要构建它吗?” 出现。这很烦人,因为 DLL 文件的层次非常低,并且会强制重建解决方案的几乎所有项目。
F5
是否有可能获得 Visual Studio 2010 强制重建或认为项目是最新的原因?
任何其他想法为什么 Visual Studio 2010 会有这样的行为?
仅适用于 Visual Studio/Express 2010。 查看 VS2012、VS2013 等的其他(更简单的)答案
要查找丢失的文件,请使用文章启用 C++ 项目系统日志记录以在 Visual Studio 中启用调试日志记录中的信息,并让它 告诉您 导致重建的原因:
devenv.exe.config
%ProgramFiles%\Microsoft Visual Studio 10.0\Common7\IDE\
%ProgramFiles(x86)%\Microsoft Visual Studio 10.0\Common7\IDE\
V*Express.exe.config
在该行之后添加以下内容</configSections>:
</configSections>
<system.diagnostics>
重新启动 Visual Studio
devenv.exe 信息:0:项目“Bla\Bla\Dummy.vcxproj”不是最新的,因为缺少构建输入“Bla\Bla\SomeFile.h”。
(我只是按 Ctrl+F 并搜索not up to date)这些将是导致项目永久“过时”的参考。
not up to date
要更正此问题,请从项目中删除对丢失文件的任何引用,或更新引用以指示其实际位置。
注意:如果使用 2012 或更高版本,则代码段应为:
<system.diagnostics> <switches> <add name="CPS" value="Verbose" /> </switches> </system.diagnostics>