web.config 替换失效解决办法

本文最后更新于$day天前,文中所描述的信息可能已发生改变。

使用Web.config和Web.Release.config和Web.Debug.config 用来区分开发环境和生产环境是一个非常棒和有效率的方法。

我在测试一个旧项目的时候,发现使用Web.Debug.config添加配置后,发布项目并没有任何作用。也就是说这个方法失效了吗?

经过查阅,原来是一段项目注释出的问题。

用记事本打开项目文件(.csproj)

搜索关键字 BeforeBuild

您会看到这段注释,不清楚是Visul Studio 2013的Bug遗留下?

把这段注释删掉。替换成

1
2
3
4
5
<Target Name="BeforeBuild">
<TransformXml Source="Web.config" Transform="Web.$(Configuration).config" Destination="Web.config" />
</Target>
<Target Name="AfterBuild">
</Target>

即可解决!