任何人都有一个首选的方法来进行web.config转换?我很好奇其他人为此做了什么。我讨厌每次更新或重新发布时都不断更新web.config。
答案 0 :(得分:1)
使用VS内置支持的最简单方法:
您拥有适用于您的构建版本的web.config版本(默认为Debug和Release)
在发布版本中,您可以定义转换在构建期间应用的内容。结果将是有效的web.config。
答案 1 :(得分:1)
查看慢速猎豹的nuget包:https://www.nuget.org/packages/SlowCheetah/这可以很好地满足您的需求。请注意,它仅适用于发布转换,切换到不同的配置以进行本地调试将不会产生任何影响。
答案 2 :(得分:1)
实施例
-Dev Server" copy from debug" - -Prod Server Debug" copy from debug" - -Prod Server Release" copy from release" -
然后右键单击您的web.config并选择"添加配置转换"
您将获得上面添加的每个配置的新变换。
现在为每个环境配置您的Web配置转换。
现在,当您发布时,您只需选择配置" Dev,Prod Debug或Prod Release"并且它会消失,之后不需要更新它们。
现在,应始终为本地环境配置基本web.config,因此如果在本地IIS中进行设置,则将使用web.config而不进行任何转换。您的转换应该将基本web.config中的本地设置转换为他们需要的。
答案 3 :(得分:1)
几年前,Scott Hanselman使用预构建事件和批处理文件提供了解决方案:
http://www.hanselman.com/blog/ManagingMultipleConfigurationFileEnvironmentsWithPreBuildEvents.aspx
基本上,您为每个构建维护一个单独的不同配置,并运行批处理脚本预构建以通过Web.Config进行复制。明显的缺点是,如果你有三十种不同的构建配置,你需要三十种不同的配置,但我发现它很适合你只有两三个配置的项目(比如爱好项目,或者你只会发布到内部服务器的工具) )。此外,很高兴知道如果您愿意,可以根据需要对构建过程进行额外控制。