如何管理CD的连接字符串

问题描述 投票:0回答:1

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

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

其中一个是连接字符串,我想知道在app和web.config文件中处理连接字符串的推荐方法是跨环境。

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

谢谢你的帮助。

c# .net continuous-integration cd
1个回答
1
投票

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

请查看以下资源以执行配置转换,而无需进行发布。这个片段取自第二个链接。

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

© www.soinside.com 2019 - 2024. All rights reserved.