2010-12-13 110 views
0

我們是一個由4名開發人員組成的團隊,負責同一個項目。我們使用Entity Framework來訪問我們的SQL數據庫後端。我們將連接字符串存儲在web.config中。在Silverlight項目中存儲EF數據庫連接字符串

每個開發人員都在測試他自己的本地SQL服務器數據庫的代碼。這意味着每個開發人員在web.config中都有自己的SQL Server連接字符串。我通常在我的機器上有幾個不同的數據庫副本,來自不同場景的數據,我通過編輯連接字符串來切換數據。一個數據庫可能是空的,另一個可能包含大量的測試數據等等。

我們面臨的問題是我們意外地將web.config檢入到源代碼控制中,這意味着當一個團隊中的其他開發人員從源代碼​​控制中檢索到最新代碼時,他的本地web.config - 與他的連接字符串 - 將被來自其他開發人員的覆蓋。 (我們正在使用AccuRev,其中沒有好辦法忽略某些文件)。

我想過了幾個不同的hackish的解決方案的:

  • 創建一個新的配置文件,我們存儲計算機特定的配置。我們不檢查源代碼管理中的這個文件。或者我們使用其他名稱進行檢查。
  • 將web.config重命名爲源代碼管理中的web.config.default(或其他)。在從源代碼控制中籤出後,開發人員必須將web.config.default重命名爲web.config,然後才能運行。

當然必須有som的標準方式來處理這個問題嗎?

回答

0

如果您使用visual studio 2010,則可以使用web.config轉換。

只是一個想法...
每個開發人員需要建立他/她自己的構建的配置,如DebugDeveloperA,DebugDeveloperB,分期,RELASE,等...
Visual Studio 2010中創建的web.config文件改造的探討對於每個構建配置,如果從源代碼管理中獲得最新版本,則需要確保使用構建配置。

0

我去了以下解決方案:

  • 重命名web.config中web.config.default(或東西)的源代碼控制。
  • 作爲預構建步驟,檢查web.config是否存在。如果沒有,請將web.config.default複製到web.config。