我在 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.
请注意,每次运行 build 时随机 guid 都会发生变化。
此 .rsp 文件在其他 .obj 文件中被列为任务“LIB”的输入文件。
很多项目都依赖于这个,所以这触发了几乎整个解决方案的重建。
我在 MSDN 上发现 .rsp 是包含 MSBuild.exe 命令行开关的 MSBuild 响应文件。看起来项目已配置为每次编译都是通过生成的 .rsp 文件进行的,这可以在 Visual Studio 中关闭吗?