2016-03-06 6 views
-1

У меня смешанное решение C#/C++ в VS2013. Один из проектов на C++ восстанавливается каждый раз, когда я запускаю сборку, даже когда ничего не меняется. В диагностическом выходе он говорит:Ненужная перестройка в Visual Studio 2013: отсутствует вход сборки .RSP

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' 

Когда я бегу MSBuild.exe из CMD линии, я получаю следующий вывод:

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

Обратите внимание, что случайные справ меняется каждый раз, когда я запустить сборку.

Этот .rsp-файл указан в качестве входного файла для задачи «LIB» среди других .obj-файлов.

Многие проекты зависят от этого, поэтому это приводит к восстановлению почти полного решения.

В MSDN я обнаружил, что .rsp - это файл ответов MSBuild, содержащий ключи командной строки MSBuild.exe. Похоже, проект сконфигурирован таким образом, что каждый компилятор через сгенерированный файл .rsp может быть отключен в Visual Studio?

+1

Вы не получите ответ, если не будете лучше документировать свою проблему. По крайней мере, подробный след построения, отправьте его в паштет. –

+0

Можете ли вы опубликовать файл rsp? – Soundararajan

+0

Файл rsp не существует – vasicbre

ответ

-1

Выполните эти шаги, если в качестве применить к вашей среде:

  1. Удалить каждую папку вывода вашего решения и проекты (как правило, называют «Debug», «Release», «x86» и «x64»)
  2. Удалить каждые скомпилированные выходные папки вашего решения и проекты (обычно называемого "ipch")
  3. Удалить файлы * .filters * .user * .sdf * .suo
  4. Invoke MSBuild с чистой цели: MSBuild/т: чистый
  5. Invoke msbuild: msbuild
  6. Все готово. Теперь вы должны иметь возможность перекомпилировать только файлы на основе изменений файлов.