Как управлять строкой соединения для CD - PullRequest
0 голосов
/ 03 сентября 2018

У меня есть устаревшее приложение .net, работающее под управлением 4.0, которое мне было поручено поддерживать, и в рамках обслуживания я обновляю систему CI / CD.

При этом я обнаружил кучу замен содержимого файлов вручную, используемых для управления переменными, специфичными для среды.

Одной из них является строка подключения, мне было интересно, какой рекомендуемый способ обработки строк подключения в файлах app и web.config в разных средах.

Я попробовал slowcheetah, но он не выполняет преобразование для web.config, когда вы не используете опцию публикации.

Спасибо за любую помощь.

1 Ответ

0 голосов
/ 03 сентября 2018

Да, вы можете сделать это с помощью скрипта msbuild:

<UsingTask TaskName="TransformXml" AssemblyFile="bin\Microsoft.Web.Publishing.Tasks.dll"/>


  <Target Name="GenerateConfigs">

    <MakeDir Directories="$(BuildOutput)" Condition="!Exists('$(BuildOutput)')"/>

    <TransformXml Source="BTSNTSvc.exe.config"

                  Transform="BTSNTSvc.exe.$(Configuration).config"

                  Destination="$(BuildOutput)\BTSNTSvc.exe.config"/>

  </Target>

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

http://matthewvukomanovic.blogspot.com/2012/10/webconfig-transform-without-publishing.html

http://geekswithblogs.net/EltonStoneman/archive/2010/08/20/using-msbuild-4.0-web.config-transformation-to-generate-any-config-file.aspx

...