У меня довольно большое решение (около 50 проектов, все С#), которые я создаю в VS 2012 (обновление 4). Я заметил, что после завершения полной перестройки из VS, непосредственно за которой следует сборка (нажатие F6), один проект перестраивается, хотя я ничего не трогал.
Второй вызов сборки правильно определяет, что все проекты обновлены.
Установка вывода msbuild для диагностики и проверки вывода первого вызова сборки показывает следующее:
NuGet package restore started.
Restoring NuGet packages for solution XXX.
[... some boring lines on NuGet Package restore]
All packages are already installed and there is nothing to restore.
NuGet package restore finished.
Project 'YYY' is not up to date. Last build was with unsaved files.
------ Build started: Project: YYY, Configuration: Debug Any CPU ------
Build started 21-11-2013 21:20:54.
Я особенно заинтригован сообщением, что Project 'YYY' is not up to date. Last build was with unsaved files.
у меня нет несохраненных файлов. Интересно, что как Google, так и Bing не дают ни единого удара при поиске этого сообщения.
Любые подсказки о том, что может это сделать? Как я могу отладить эту часть процесса сборки? Я полагаю, что эта часть процесса сборки еще до вызова MsBuild (по крайней мере, новые функции восстановления пакета NuGet появляются до вызова MsBuild, я считаю, что MsBuild запускается из строки "Build started".