2010-04-14 53 views
3

我有一個ASP.Net網站(ASPX和ASMX頁面)與一個單一的web.config文件。我們有一個開發版本和一個生產版本。隨着時間的推移,用於開發和生產的web.config文件已大大分化。在ASP.Net中處理web.config文件版本的最佳方法是什麼?

什麼是保持兩個版本的web.config在源代碼控制(我們使用龜SVN但我不認爲重要)的最佳做法?看起來我可以用「web.config.prod」這樣的名稱添加生產web.config文件,然後當我們處理所有文件時,我們只需添加刪除現有web.config並重命名web.config的步驟.prod到web.config。

雖然我確信它會起作用,但這看起來很駭人聽聞。是否沒有一些機制來處理Visual Studio的內置?看起來這將是一個普遍的問題,但我還沒有發現任何關於這個問題的答案。

回答

3

我們使用您所描述的具體方法,它的偉大工程,比如我們有:

  • 的web.config(地方發展)
  • web.Dev.config(構建服務器,建立在辦理入住手續)
  • web.QC.config(測試環境)
  • web.Prod.config(生產)

每個環境的構建腳本只是刪除web.config並重命名相應的位置。通過這種方式,您可以輕鬆實現所有這些控件的源代碼控制,並且可以快速進行區分並查看各種環境之間可能存在的差異。在整個電路板上更新配置值也變得更加容易...下一次將它推入該環境時,它將獲得新的配置。

1

Visual Studio 2010添加了一項名爲XDT Transforms的新功能,該功能可自動組合多個Web.config文件以用於不同的配置。

但是,VS2008不包含任何此類功能。

+0

VS 2008中沒有這個?我們被困在2008年。 – MusiGenesis 2010-04-14 02:59:45

+0

唯一的問題是,只有當您「發佈」該網站時,web.config文件的轉換纔會發生。它不能在構建時轉換(有或沒有SlowCheetah [http://www.hanselman.com/blog/SlowCheetahWebconfigTransformationSyntaxNowGeneralizedForAnyXMLConfigurationFile.aspx]) – 2012-11-09 12:15:34

相關問題