如何管理 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
我有一个遗留的 .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