MSBuild аргументы для генерации файлов
Примечания: Решение 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 ответа
Удалить
/p:PackageAsSingleFile=true
Или измените его на:
/p:PackageAsSingleFile=false
Это вызывает архивирование файлов.
Вам также может понадобиться переключить метод публикации на пакет:
/p:OutDir=$(build.artifactstagingdirectory)
/p:WebPublishMethod=Package
Вместо этого используйте следующие аргументы MSBuild:
/p:SkipInvalidConfigurations=true /p:DeployOnBuild=true /p:WebPublishMethod=FileSystem /p:publishUrl="$(build.artifactstagingdirectory)\\" /p:DeployDefaultTarget=WebPublish
Кто-нибудь знает, где все эти параметры задокументированы? Like /p: НЕКОТОРЫЕ-НАЗВАНИЕ-ПАРАМЕТРА
Я нигде не нашел, просто ответы на форумах от людей, которые говорят, что писать, но не почему. Было бы неплохо с полным списком возможных параметров.
/p:PrecompileBeforePublish
/p:DeployOnBuild
/p:WebPublishMethod
/p:PackageAsSingleFile
/p:SkipInvalidConfigurations
/p:PackageLocation
/p:DeployDefaultTarget
так далее...