MSbuild make / property: OutDir пропускает отсутствующие файлы - PullRequest
0 голосов
/ 16 ноября 2011

Есть ли способ заставить MSBuild пропускать пропущенные файлы при использовании /p:OutDir?

Я работаю с TeamCity, чтобы постоянно создавать большой веб-проект. Я написал программу, которая обрабатывает наше непрерывное развертывание, но у меня проблема с MSbuild. Я использую свойство OutDir для вывода необходимых мне веб-файлов.

Вот моя команда msbuild:

msbuild project.sln /property:Configuration=Release /property:OutDir=R:\BuildOutput\

MSBuild завершается с OutDir, потому что отсутствуют файлы. Пример:

error MSB3021: Unable to copy file "Api\Js\excanvas.min.js" to "R:\BuildOutput\_PublishedWebsites\Web\Api\Js\excanvas.min.js". Could not find file 'Api\Js\excanvas.min.js'.

Это очень большой и старый проект с большим количеством отсутствующих файлов. Есть ли способ заставить MSBuild пропускать эти файлы и / или игнорировать эти ошибки.

Спасибо, любая помощь будет оценена.

Добавление отсутствующих файлов - быстрое решение, но я не хочу добавлять все отсутствующие файлы каждый раз, когда мы сталкиваемся с этой проблемой.

1 Ответ

4 голосов
/ 16 ноября 2011

Проблема в том, что ваш csproj явно или неявно указывает на файлы, которые не существуют

/p:OutDir просто меняет местоположение того, что уже происходит.

Итак, неудачный ответ ... исправьте это и не вините посланника.

РЕДАКТИРОВАТЬ: Кстати, добавив /v:diag к аргументам вызова MSBuild, вы получите полный дамп списков элементов по мере их вычисления во время обработки

...