簡體   English   中英

Visual Studio 2013 中不必要的重建:缺少 .RSP 構建輸入

[英]Unnecessary rebuild in Visual Studio 2013: .RSP build input is missing

我在 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 文件被列為任務“LIB”的輸入文件以及其他 .obj 文件。

許多項目都依賴於此,因此這會觸發幾乎整個解決方案的重建。

我在 MSDN 上發現 .rsp 是包含 MSBuild.exe 命令行開關的 MSBuild 響應文件。 看起來該項目已配置為每次編譯都通過生成的 .rsp 文件進行,這可以在 Visual Studio 中關閉嗎?

如果適用於您的環境,請執行以下步驟:

  1. 刪除解決方案和項目的每個輸出文件夾(通常稱為“調試”、“發布”、“x86”和“x64”)
  2. 刪除解決方案和項目的每個預編譯輸出文件夾(通常稱為“ipch”)
  3. 刪除文件 *.filters, *.user, *.sdf, *.suo
  4. 使用干凈的目標調用 msbuild: msbuild /t:clean
  5. 調用 msbuild:msbuild
  6. 完成了。 現在您應該能夠僅根據文件更改重新編譯。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM