Как использовать параметры профиля publi sh из Visual Studio в azure конвейерах? - PullRequest
0 голосов
/ 23 февраля 2020

У меня есть проект 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

...