DevOps: задача Build Solution без копирования файла Web.config - PullRequest
0 голосов
/ 01 февраля 2019

В нашем конвейере сборки DevOps задача Build Solution правильно преобразует файл "web.base.config" в файл "web.config", однако файл артефакта содержит только "web.base.config", а не "web.config ".

Настройка файла / конфигурационного файла проекта Visual Studio выглядит следующим образом:

…
    <Content Include="Web.Base.config" />
    <None Include="Web.Debug.config">
      <DependentUpon>Web.Base.config</DependentUpon>
      <SubType>Designer</SubType>
    </None>
    <None Include="Web.Dev.config">
      <DependentUpon>Web.Base.config</DependentUpon>
      <SubType>Designer</SubType>
    </None>
    <None Include="Web.QA.config">
      <DependentUpon>Web.Base.config</DependentUpon>
      <SubType>Designer</SubType>
    </None>
…
  <Target Name="BeforeBuild" Condition="'$(PublishProfileName)' == '' And '$(WebPublishProfileFile)' == ''">
    <TransformXml Source="Web.Base.config" Transform="Web.$(Configuration).config" Destination="Web.config" />
  </Target>

Аргументы msbuild для задачи Build Solution выглядят следующим образом:

/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:DesktopBuildPackageLocation="$(build.artifactstagingdirectory)\WebApp.zip" /p:DeployIisAppPath="Default Web Site"

В файле журнала сборки я вижу, что преобразование происходит успешно.

2019-01-31T21:13:32.1186618Z BeforeBuild:
2019-01-31T21:13:32.1186784Z   Transforming Source File: Web.Base.config
2019-01-31T21:13:32.2198256Z     Applying Transform File: Web.Dev.config
2019-01-31T21:13:32.4750975Z     Output File: Web.config
2019-01-31T21:13:32.5213915Z   Transformation succeeded

Что мне нужно сделать, чтобы преобразованный файл "Web.config" переместился в промежуточную папку артефакта?

1 Ответ

0 голосов
/ 01 февраля 2019

Проблема решена - сам файл Web.config должен был быть частью файла CSPROJ, а это не так.Как только я добавил его в файл проекта, я увидел, что он опубликован / отправлен на веб-сайт.Я добавил его в файл proj следующим образом:

...
<Content Include="Web.config" />
<Content Include="Web.Base.config" />
<None Include="Web.Debug.config">
  <DependentUpon>Web.Base.config</DependentUpon>
  <SubType>Designer</SubType>
</None>
...
...