Visual Studio 2013中不必要的重建:.RSP构建输入丢失

时间:2016-03-06 21:36:54

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

我在VS2013中混合了C#/ C ++解决方案。每当我运行构建时,即使没有任何改变,其中一个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文件被列为任务“LIB”以及其他.obj文件的输入文件。

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

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

1 个答案:

答案 0 :(得分:-2)

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

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