当建立ASP.NET Web应用程序项目后,默认除了生成web.config外,还生成了web.debug.config与Web.Release.config。顾名思义,根据它们的命名我可以推测到他们分别用于在[调试]模式, 及[发行]模式下时的web.config替换工作!
为什么要使用web.config发布文件替换?它将会带来什么样的好处?
平常我们在开发的时候都是将数据库连接字符串设置为专用于开发的数据库服务器!而当我们把产品做好了以后,在发布的过程中往往需要把连接字符传由原来的用于开发的数据库改为生产数据库,在这里当版本在频繁地发布时,这个工作就需要重复好几次了!
另外当然你可以另写一个发布用的副本去替换掉开发时用的版本!而在这里我将会给大家介绍VS2010内置的web.config发布文件替换功能!
此功能相对灵活而且很弹性.
首先,你要了解的是程序的发布为什么会分[调试]模式,与[发行]模式!在选择[发行]模式时,代码会被内部作优化处理.从而使得文件相比[发布]模式之下体积更小,运行速度更快!因为少插入了一些调试符.
下面将会大家介绍怎样选择编译模式。
方法一,从工具栏上如下区域选择编译模式,然后发布网站即可。
方法二右键解决方案 - 属性
好了,到这里我们已经学会如何设置编译版本了!下面将开始介绍web.config发布文件替换功能
使用web.config发布文件替换语法
好了,上了两节基础回顾!这儿应该真刀真枪回到主题了!
当你选择Debug编译模式发布时,自然而然IDE会去检测Web.Debug.config内的转换标记符
而在选择Release编译模式发布时,同理!
打开web.config
我们加好了连接字符串设置后,接下来我们建个测试页面
代码修改为
执行效果 (注意相对路径噢 test.ashx)
在这文章里我选择的是[Debug]编译模式!
然后我们修改web.Debug.config
从上图可以看到我使用了文件里默认导入的命名空间xdt.
修改了以后接下来进行发布
我这里选择的是文件系统,这种发布方式最后可以把发布出来的文件夹打包成.rar或者另外制作安装程序!
然后我们打开E:Builder看最后的web.config生成情况
好了~在这里你已经知道如果替换连接字符串了~但是你可能会用到更复杂的功能~这里我提供一个MSDN的在线说明文档地址
http://msdn.microsoft.com/zh-cn/library/dd465326.aspx 介绍 XML-Document-Transform 的语法
注意: web.config发布替换的功能不能替换<configuration />