赞
踩
每次开发时的配置和实际生产中的配置都是不一样,之前每次都是发布后修改Webconfig。次数一多就嫌麻烦了,所以就想研究一下Web.Debug.config和Web.Release.config。
但是按照网络上的文章,自己配置了点appSettings,运行时怎么也无法生效。几经查询找不到问题,就在我打算放弃之时,看到了一篇文章,Web.Debug.config和Web.Release.config设置无效的解决办法
根据上面的经历,我找到了xx.Web.csproj。在Webconfig 目录下
打开后拉到文章下方,取消关于 BeforeBuild、AfterBuild的注释,再添加:
<TransformXml Source="Web.config" Transform="Web.$(Configuration).config" Destination="Web.config" />
之后debug以及release的修改就会生效了。
另外建议不要使用 xdt:Transform=“Insert”。这种方式会使得每次运行时都添加一次appSettings。
我的处理方式是在Webconfig里添加一行 占位。
<add key="Developer" value="XXXX"/>
而后在debug.config和release.config里添加
<appSettings>
<add key="Developer" value="XXXX"/> xdt:Transform="Replace" xdt:Locator="Match(key)"/>
</appSettings>
使用:xdt:Transform=“Replace” xdt:Locator=“Match(key)” 来进行替换,而不是新增。
运行后会自动根据环境进行不同的配置。
关于Transform 的配置,可参考:
关于Web.config的debug和release.config文件
ASP.NET 多环境下配置文件web.config的灵活配置
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。