如何管理 CD 的连接字符串

How to manage connectionstring for CD

我有一个遗留的 .net 应用程序 运行 4.0,我被要求维护,作为维护的一部分,我正在更新 CI/CD 系统。

在这样做的过程中,我发现了一堆用于管理环境特定变量的手动文件内容替换。

其中之一是连接字符串,我想知道跨环境处理应用程序和 web.config 文件中的连接字符串的推荐方法是什么。

我尝试了 slowcheetah,但当您不使用发布选项时,它不会对 web.config 进行转换。

感谢您的帮助。

是的,您可以使用 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 个 link.

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