我有一个运行4.0的遗留.net应用程序,我已经给予维护,作为维护的一部分,我正在更新CI / CD系统。
在这样做时,我发现了一堆用于管理环境特定变量的手动文件内容替换。
其中一个是连接字符串,我想知道在app和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>
请查看以下资源以执行配置转换,而无需进行发布。这个片段取自第二个链接。
http://matthewvukomanovic.blogspot.com/2012/10/webconfig-transform-without-publishing.html