小编典典

Visual Studio 2010 总是认为项目已过时,但没有任何改变

all

我还将 C/CLI 和 C# 项目的混合解决方案从 Visual Studio 2008 升级到 Visual Studio 2010。现在在
Visual Studio 2010 中,一个 C
/CLI 项目总是过时。

即使它之前已经编译和链接F5并被点击,消息框“项目已过期。您要构建它吗?” 出现。这很烦人,因为 DLL
文件的层次非常低,并且会强制重建解决方案的几乎所有项目。

是否有可能获得 Visual Studio 2010 强制重建或认为项目是最新的原因?

任何其他想法为什么 Visual Studio 2010 会有这样的行为?


阅读 80

收藏
2022-07-09

共1个答案

小编典典

仅适用于 Visual Studio/Express 2010。 查看 VS2012、VS2013 等的其他(更简单的)答案

要查找丢失的文件,请使用文章启用 C++
项目系统日志记录
以在 Visual Studio 中启用调试日志记录中的信息,并让它 告诉您 导致重建的原因:

  1. 打开devenv.exe.config文件(在%ProgramFiles%\Microsoft Visual Studio 10.0\Common7\IDE\或 中找到%ProgramFiles(x86)%\Microsoft Visual Studio 10.0\Common7\IDE\)。对于 Express 版本,配置文件名为V*Express.exe.config.
  2. 在该行之后添加以下内容</configSections>

    <system.diagnostics>
    




  3. 重新启动 Visual Studio

  4. 打开DbgView并确保它正在捕获调试输出
  5. 尝试调试(在 Visual Studio 中按 F5)
  6. 在调试日志中搜索表单的任何行:

devenv.exe 信息:0:项目“Bla\Bla\Dummy.vcxproj”不是最新的,因为缺少构建输入“Bla\Bla\SomeFile.h”。

(我只是按 Ctrl+F 并搜索not up to date)这些将是导致项目永久“过时”的参考。

要更正此问题,请从项目中删除对丢失文件的任何引用,或更新引用以指示其实际位置。

注意:如果使用 2012 或更高版本,则代码段应为:

<system.diagnostics>
  <switches>
   <add name="CPS" value="Verbose" />
  </switches>
</system.diagnostics>
2022-07-09