【问题标题】:Unnecessary rebuild in Visual Studio 2013: .RSP build input is missingVisual Studio 2013 中不必要的重建:.RSP 生成输入丢失
【发布时间】:2016-03-06 21:36:53
【问题描述】:

我在 VS2013 中混合了 C#/C++ 解决方案。每次我运行 build 时都会重新构建 C++ 项目之一,即使没有任何更改。在诊断输出中它说:

1> Project not up to date because the following 1 build inputs were missing:
1>  up to date is missing: 'PROJECT_OUTPUT_PATH\TMP_RANDOMGUID.RSP'

当我从 cmd 行运行 MSBuild.exe 时,我得到以下输出:

"…\TMP_RANDOMGUID.RSP" does not exist; source compilation required.

请注意,每次运行构建时随机 guid 都会发生变化。

此 .rsp 文件在其他 .obj 文件中被列为任务“LIB”的输入文件。

很多项目都依赖于这个,因此这会触发几乎整个解决方案的重建。

我在 MSDN 上发现 .rsp 是包含 MSBuild.exe 命令行开关的 MSBuild 响应文件。看起来项目配置为每次编译都通过生成的 .rsp 文件,可以在 Visual Studio 中关闭吗?

【问题讨论】:

  • 除非您更好地记录您的问题,否则您不会得到答案。至少详细的构建跟踪,将其发布到粘贴箱。
  • 可以发一下rsp文件吗?
  • rsp 文件不存在

标签: c++ visual-studio visual-studio-2013 msbuild vcxproj


【解决方案1】:

如果适用于您的环境,请执行以下步骤:

  1. 删除解决方案和项目的每个输出文件夹(通常称为“Debug”、“Release”、“x86”和“x64”)
  2. 删除解决方案和项目的每个预编译输出文件夹(通常称为“ipch”)
  3. 删除文件 *.filters、*.user、*.sdf、*.suo
  4. 使用干净的目标调用 msbuild:msbuild /t:clean
  5. 调用 msbuild:msbuild
  6. 完成了。现在您应该能够仅根据文件更改重新编译。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-08
    • 1970-01-01
    • 1970-01-01
    • 2013-11-19
    • 1970-01-01
    • 1970-01-01
    • 2018-12-20
    相关资源
    最近更新 更多