MSBuild зависает при копировании файлов - PullRequest
1 голос
/ 27 февраля 2012

Рассмотрим эту командную строку

msbuild R:\Build\trunk\19973\Deploy-Admin\Deploy-Admin.wdproj /p:Configuration="Release" /property:OutputPath=R:\Build\trunk\19973\!Output\Admin 

То, что мы видим здесь, это компилятор msbuild, строящий проект веб-развертывания с некоторыми параметрами, управляющими конфигурацией и OutputPath.

Все работало нормально. Время компиляции MSBuild всегда составляло около 8 минут.

Что-то случилось тогда. MSBuild теперь занимает 30 минут, чтобы скомпилировать проект, и кажется, что он делает «что-то» всего за 22 минуты.

Именно тогда я заметил, что MSBuild работает 2 минуты хорошо, пока не доходит до копирования файлов. Выходные данные MSBuild перестают выводить что-либо, и я вижу, что компилятор csc.exe занимает некоторый процент процессора.

Это занимает примерно эти 22 минуты, после этого вывод msbuild размораживается и компилятор завершает работу.

Так выглядят последние строки из вывода.

ResolveAssemblyReferences:
 Copying file from "R:\Build\trunk\19973\!Ouput\Admin\it\Utils.resources.dll" to "R:\Build\trunk\19973\Admin\Bin\Utils.resources.dll".
 Copying file from "R:\Build\trunk\19973\!Ouput\Admin\ru\Utils.resources.dll" to "R:\Build\trunk\19973\Admin\Bin\Utils.resources.dll".
 Copying file from "R:\Build\trunk\19973\!Ouput\Admin\ru-RU\Utils.resources.dll" to "R:\Build\trunk\19973\Admin\Bin\Utils.resources.dll".
 Copying file from "R:\Build\trunk\19973\!Ouput\Admin\sk\Utils.resources.dll" to "R:\Build\trunk\19973\Admin\Bin\Utils.resources.dll".
 Copying file from "R:\Build\trunk\19973\!Ouput\Admin\tt-RU\Utils.resources.dll" to "R:\Build\trunk\19973\Admin\Bin\Utils.resources.dll".
 Copying fil

MsBuild даже не завершит вывод строки до 22 минут спустя, завершив весь процесс через 30 минут.

Примечание: компилятор VS2010 работает все еще хорошо, на компиляцию требуется около 8 минут

Это когда-нибудь случалось с кем-либо? Мы пытались выяснить изменения в коммите, с которого сборка начиналась так долго, но этот конкретный коммит не был каким-то особенным или связанным с чем-либо, что могло бы повлиять на компилятор (никакие пространства имен и ссылки на сборки не были изменены ).

...