Подтвердить что ты не робот

Вызовите публикацию из msbuild для визуальной студии 2012

Для VS2010 и до того, как я использовал проекты веб-развертывания (WDP), чтобы помочь упаковать мой сайт для развертывания производства. У меня был MSBuild script, который скомпилировал решение в режиме выпуска. Результатом этого было создание готовых файлов сайта, скомпилированных и очищенных WDP.

Я вижу, что в 2012 году WDP были удалены, и в свойствах для веб-приложения была создана новая вкладка. Параметры одинаковы, но теперь вызов этого выполняется с помощью опции "Опубликовать" (перед тем, как вы просто скомпилировали ее в режиме выпуска).

Итак, вопрос в этом. Из MSBuild script, как я могу вызвать операцию публикации? Я нашел несколько старых сообщений, которые...

msbuild /target:publish

сделал бы трюк. Но это, похоже, не работает в 2012 году.

Кроме того, я попытался выполнить мою задачу msbuild...

<MSBuild Properties="Configuration=Publish;" 
         StopOnFirstFailure="true" 
         Projects="$(BuildDirectory)\MySolution.sln"></MSBuild>

... но msbuild только что сообщил "неизвестную конфигурацию".

Как я могу msbuild запустить параметр публикации из командной строки?

4b9b3361

Ответ 1

Мне не удалось запустить публикацию, но, глядя на вывод из Visual Studio, я думаю, что нашел альтернативное решение. Оказывается, папка obj\Release\AspnetCompileMerge имеет развернутую и чистую версию проекта. Он содержит байтовые идентичные файлы в конечной выходной папке.

Мне пришлось изменить мой msbuild script, чтобы включить параметр DeployOnBuild...

<MSBuild Properties="Configuration=Release;DeployOnBuild=True;" 
         StopOnFirstFailure="true" 
         Projects="$(BuildDirectory)\BigWave.ALL.sln"></MSBuild>

Ответ 2

Похоже, что теперь есть некоторые другие варианты публикации из командной строки. В частности, что-то похожее на следующие строки кажется возможным теперь с некоторыми обновлениями RC для Visual Studio 2012.

msbuild mywap.csproj /p:DeployOnBuild=true;PublishProfile=MyProfileName

Для получения дополнительной информации ознакомьтесь с этим сообщением Скоттом Гензельманом и ознакомьтесь с разделом Публикация.