Различия между сборкой MSBUILD и VS2008 - PullRequest
2 голосов
/ 14 июня 2011

Я пытаюсь настроить процесс непрерывной интеграции, при котором сервер будет создавать файл VS2008 .SLN и выполнять некоторые другие действия.

При сборке из Visual Studio все работает хорошо.Однако при сборке с использованием CI-сервера (который использует MSBUILD) сборка завершается неудачно для многих MSB3191 (Невозможно создать каталог ...)

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

В чем разница между MSBUILD и сборкой, используемой в VS?Как получается, что один добивается успеха, а другой - нет?

Кроме того, что является хорошей практикой, чтобы избежать подобных проблем?

Вот вывод из MSBUILD:

"D:\ MasterBuild_Dev \ tlv_Platform \ UBUILD \ RecordersAutoFwk \ Main.sln "(цель по умолчанию) (1) ->" D: \ MasterBuild_Dev \ tlv_Platform \ UBUILD \ Регрессионная структура автоматизации \ Actions \ Common \ Common \ EM.Licensing.csproj "(по умолчанию)target) (46) -> (цель PrepareForBuild) -> C: \ Windows \ Microsoft.NET \ Framework64 \ v3.5 \ Microsoft.Common.targets (790,9): ошибка MSB3191: невозможно создать каталог "........ \ RecordersAutoFwk \ Main \ Bin \ Debug \ Lib \».Невозможно создать «D: \ MasterBuild_Dev \ tlv_Platform \ UBUILD \ RecordersAutoFwk \ Main \ bin \ Debug \ lib», так как файл или каталог с таким именем уже существует.[D: \ MasterBuild_Dev \ tlv_Platform \ UBUILD \ Структура автоматизации регрессии \ Actions \ Common \ Common \ EM.Licensing.csproj]

Ответы [ 2 ]

0 голосов
/ 15 июня 2011

Иногда я получаю конфликты блокировки, как это, когда я запускаю msbuild, используя несколько ядер - с / maxcpucount: n, тогда кажется, что один из процессов блокирует папку для другого, и затем я получаю что-то вроде этого.Неиспользуемый переключатель исправляет это, не случается на всех sln, только некоторые.Вы не используете команду postbuild для копирования, а не путь вывода сборки?

Было бы полезно, если бы мы знали вашу команду msbuild?

0 голосов
/ 14 июня 2011

Без дополнительной информации я бы сказал, что у одной из ваших учетных записей есть проблемы с разрешениями на сервере.

Под каким счетом работает VS? Под каким аккаунтом работает MSBuild?

...