У меня есть проект ASP. NET, и я хочу реализовать CI-CD с использованием конвейеров Azure для развертывания на пользовательском сервере (IIS). В настоящее время при использовании Visual Studio (2019) для публикации веб-приложения sh вручную, я использую следующие параметры для профиля publi sh:
<PropertyGroup>
<WebPublishMethod>FileSystem</WebPublishMethod>
<PublishProvider>FileSystem</PublishProvider>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish />
<LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
<ExcludeApp_Data>True</ExcludeApp_Data>
<publishUrl>C:\Test</publishUrl>
<DeleteExistingFiles>True</DeleteExistingFiles>
<PrecompileBeforePublish>True</PrecompileBeforePublish>
<EnableUpdateable>False</EnableUpdateable>
<DebugSymbols>False</DebugSymbols>
<WDPMergeOption>MergeEachIndividualFolder</WDPMergeOption>
<UseMerge>True</UseMerge>
</PropertyGroup>
Главное, чего я хочу добиться - это реализовать <WDPMergeOption>MergeEachIndividualFolder</WDPMergeOption>
при развертывании с использованием сборки и выпуска конвейера.
Для конвейера выпуска я использую IIS Web Deployment.
Для разделения агента конвейера сборки я использую vs2017-win2016
Для решения задачи сборки я использую последнюю версию visual stidio
Что я пробовал:
1 , Передача аргументов конфигурации в msbuild для задачи Build Solution в azure конвейере сборки:
/p:PackageAsSingleFile=true /p:PackageLocation="$(build.artifactstagingdirectory) /p:OutputPath=bin
/p:DeployOnBuild=true /p:WebPublishMethod=FileSystem /p:PrecompileBeforePublish=true
/p:EnableUpdateable=false /p:DebugSymbols=true /p:UseMerge=true /p:DeleteAppCodeCompiledFiles=True
/p:DeleteExistingFiles=True /p:WDPMergeOption=MergeEachIndividualFolder /p:UseFixedNames=true\\"
2. Загрузка FolderProfile.pub xml и передача аргументов в msbuild для чтения из этого файла
Все это прекрасно собирается и выпускается, но не объединяет сборки в выпуске, как это сконфигурировано с параметрами объединения, похоже, msbuild
игнорирует эти дополнительные аргументы слияния.
Как это можно сделать, главный вопрос в том, как использовать опцию MergeEachIndividualFolder
при развертывании с azure pipe?
I Я также много искал, но ни один из вопросов, похоже, не нашел решения.
Azure DevOps Build - publi sh не создает .compiled файлы в папке bin на publi sh
Кажется, что командная строка MSBuild игнорирует publi sh properties