2

我有一個簡單的ASP.NET MVC網站。它具有調試,測試和發佈配置模式。Team Foundation Server項目可能有不同的web.config文件?

我們使用TFS作爲我們的源代碼管理和錯誤跟蹤等。很好。

現在,我們即將着手使用團隊構建來自動化一些連續集成。問題是,我們不確定如何製作它,所以如果我們想要進行DEBUG編譯或RELEASE編譯,它還會將正確的web.config文件放入目標目錄。另外,我們將web.config文件的某些部分提取爲獨立文件(例如,連接字符串部分或機器鍵部分等)。能否將正確的環境文件正確放置到目標目錄中?

回答

3

你可以做一個pre-build step

例如,您在

  • /Debug.Web.Config檢查
  • /Release.Web.Config

你可以寫預生成步驟來檢查構建類型並將正確的.config文件複製到

  • /Web.Config

喜歡的東西

cp $(ConfigurationName).Web.Config $(TargetDir) 

在一個側面說明,ASP.net 4.0將有多個Web.Configs

http://weblogs.asp.net/gunnarpeipman/archive/2009/06/03/visual-studio-2010-multiple-web-config-versions.aspx

+1

喜歡在VS2010等新的東西:)以上你的想法,這只是複製我們的文件在目的地的web.config文件(使用cp命令),所以原來的web.config不會混淆,對? – 2009-09-17 02:32:06

+0

是的,我想這種方式你甚至不會在你的項目中有一個web.config,只需要debug.web.config和release.web.config,然後當你建立正確的web配置將被放入其中地點。但是,是的,你的源代碼配置不應該混淆;)當然這沒有測試過,所以確保一切都在正確的目錄中,而不是。 – TJB 2009-09-17 06:04:58

+0

Visual Studio 2014即將推出,並且本地開發者的多個webconfig仍然不受支持。什麼球疼 – ppumkin 2014-11-10 14:45:22

2

支持順便提一句,在Team Foundation Server下使用預生成或生成後步驟不起作用。它會自動在構建目錄上配置安全性,以防止在構建過程中對配置文件進行任何更改,無論是作爲預構建事件還是作爲構建後事件。使用cp的唯一結果是返回「訪問被拒絕」錯誤。

相關問題