I:當建立Web項目后,默認生成的web.debug.config與Web.Release.config的作用介紹
1.為了更加清晰地介紹這個功能!我將會在下面建立一個空的Web應用程序項目去演示這一個功能的用意!所以接下來的第一步就是去建立好這個WEB應用程序項目.
當我們建立好了一個空的Web項目后,在VS解決方案資源管理器里面將會看到非常干凈的文件結構!
在這里大家看到~默認情況下相比Visual Studio 2008會多出兩個文件,它們分別是:
Web.Debug.config及Web.Release.config
顧名思義,根據它們的命名我可以推測到他們分別用於在[調試]模式, 及[發行]模式下時的web.config替換工作!
II:為什么要使用web.config發布文件替換?它將會帶來什么樣的好處?
平常我們在開發的時候都是將數據庫連接字符串設置為專用於開發的數據庫服務器!而當我們把產品做好了以后,在發布的過程中往往需要把連接字符傳由原來的用於開發的數據庫改為生產數據庫,在這里當版本在頻繁地發布時,這個工作就需要重復好幾次了!
另外當然你可以另寫一個發布用的副本去替換掉開發時用的版本!而在這里我將會給大家介紹VS2010內置的web.config發布文件替換功能!
此功能相對靈活而且很彈性.
首先,你要了解的是程序的發布為什么會分[調試]模式,與[發行]模式!在選擇[發行]模式時,代碼會被內部作優化處理.從而使得文件相比[發布]模式之下體積更小,運行速度更快!因為少插入了一些調試符.
下面將會大家介紹怎樣選擇編譯模式
右鍵解決方案 - 屬性
好了,到這里我們已經學會如何設置編譯版本了!下面將開始介紹web.config發布文件替換功能
III:使用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 /> 樓主千辛辛萬苦苦般地去進行嘗試,最后還是以失敗告終!
最后附上本文章的項目源代碼!
以下的代碼里面已經添加了一些文中沒有的功能!有需要的朋友可以下載運行一次逐個了解
另外需要用到XPath語法的!原理也差不多
本文中的項目源代碼 下載地址
最后謝謝各位觀看本文的朋友們!