MSBuild аргументы для генерации файлов - PullRequest
0 голосов
/ 23 мая 2018

примечания: решение Visual Studio 2017 с веб-приложением MVC и несколькими другими проектами, не все из которых упоминаются в проекте веб-приложения.До сих пор я использовал VS напрямую для публикации на тестовом сервере, но я переместил вещи в VSTS и настроил определение сборки и выпуска, но пока не работает.

То, чего я пытаюсь добиться, - это заставить моего (размещенного) агента сборки VSTS генерировать опубликованные файлы, которые мой (предварительно) агент выпуска может просто скопировать в целевое место назначения.Итак, я пытаюсь проверить шаг сборки MS локально из командной строки VS, чтобы получить созданные файлы и отметить путь, по которому они находятся.Может быть, я делаю это более сложным, чем должно быть?

Эти опции создадут один архивный архив и связанные с ним файлы и поместят его в каталог промежуточных артефактов.Есть ли способ просто публиковать файлы, не помещая их в архив - и непосредственно в каталог промежуточных артефактов?

Visual Studio Build

Параметры MSBuild

/t:My_MVCWeb_Project_Name /p:DeployOnBuild=true 
/p:WebPublishMethod=FileSystem /p:PackageAsSingleFile=true 
/p:SkipInvalidConfigurations=true 
/p:PackageLocation="$(build.artifactstagingdirectory)\\"

В моем выпуске, использующем локальный агент), у меня есть задача «копировать файлы», в качестве места назначения в качестве пути unc, где находится приложение IIS.Однако, это будет просто скопировать архив.Так как же мне просто скопировать файлы, как если бы я использовал профиль публикации, прямо в каталог приложения?

[update2 - по-прежнему создается файл zip]

MSBuild my_solution_name /t:"my_project_name" /p:DeployOnBuild=true /p:WebPublishMethod=FileSystem /p:SkipInvalidConfigurations=true /p:PackageLocation="D:\temp\local-dev-build-dir"

[обновление 3] Пробую их из командной строки как тест, но ничего не генерируется

msbuild D:\app_dir>MSBuild my_solution_name.sln /t:"my_web_proj_name" /p:SkipInvalidConfigurations=true /p:DeployOnBuild=true /p:WebPublishMethod=FileSystem /p:publishUrl="D:\temp\app_build_dir\\" 
/p:DeployDefaultTarget=WebPublish  

Ответы [ 2 ]

0 голосов
/ 24 мая 2018

Использование этих аргументов MSBuild вместо:

/p:SkipInvalidConfigurations=true /p:DeployOnBuild=true /p:WebPublishMethod=FileSystem /p:publishUrl="$(build.artifactstagingdirectory)\\" /p:DeployDefaultTarget=WebPublish
0 голосов
/ 23 мая 2018

Удалите

/p:PackageAsSingleFile=true 

Или измените его на:

/p:PackageAsSingleFile=false 

Это приводит к архивированию файлов.

Возможно, вам также потребуется переключитьсяспособ публикации в упаковке:

/p:OutDir=$(build.artifactstagingdirectory) 
/p:WebPublishMethod=Package
...