2015-04-03 2 views
0

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

Есть ли способ имитировать публикацию Visual Studio с помощью MSBuild? В настоящее время я делаю это с проектом Orchard, подумал, что стоит упомянуть.

Вот команда, я в настоящее время использую, чтобы сделать это:

/p:PublishProfile="exampleprofile";DeployOnBuild=true;VisualStudioVersion=12.0; 
FrameworkPathOverride="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\v4.5"; 
PublishProfileRootFolder=%WORKSPACE%\src\Orchard.Web\Properties\PublishProfiles; 
Password=ExamplePass;Configuration=Release 
+0

Вы пытались использовать Опубликовать задачу при использовании MSBuild? (/ p: Опубликовать) – Chirac

+0

У вас есть пример этого? Есть несколько профилей публикации, поэтому мне нужно будет указать, какой из них –

ответ

0

Насколько я могу понять, что вы пытаетесь имитировать ClickOnce публиковать с помощью ручного MsBuild рутины. Вы можете добиться этого, вызвав msbuild с правильными параметрами. Чтобы имитировать ClickOnce, целевая публикация доступна для вас.

msbuild MyProj.csproj /t:Publish 

С учетом ваших спецификаций вы должны иметь возможность запускать несколько конфигураций публикации, каждый из которых имеет свои собственные параметры вывода. Для того, чтобы иметь возможность запускать несколько профилей, я рекомендую вам отказаться от атрибута PublishProfile (я никогда не понимал, как заставить его работать) и переключиться на BuildEnvironment как показано здесь:

https://wallism.wordpress.com/2009/12/21/msbuild-and-multiple-environments/ (фокус на «Настройка то настройка»часть)

вы должны адаптировать свой призыв к MSBuild, чтобы включить вашу сборки среды

msbuild MyProj.csproj /t:Publish /p:BuildEnvironment=MyConfig 

Просто для небольшого теста, чтобы вы знали, если это полезно, следуйте учебник, создать свой цели и добавьте

<PropertyGroup> 
    <PublishUrl> Add a custom path here </PublishUrl> 
    <InstallUrl> Add the same path here </InstallUrl> 
</PropertyGroup> 

в ваш файл цели.

Run затем MSBuild и дайте мне знать, если вы решили проблему

Смежные вопросы