當我在本地運行時,我發現自己不得不手動更新我的web.config中的DefaultConnection連接字符串。我怎樣才能自動檢測當我在本地運行,以及 - 當我在 - 覆蓋默認連接字符串?如何爲我的本地機器設置不同的web.config設置?
我有調試/版本轉換工作,但這些是爲了部署。我正在尋找一種方法來添加另一個選項 - 「本地」 - 如果有任何方法來做到這一點(或類似的東西)。
當我在本地運行時,我發現自己不得不手動更新我的web.config中的DefaultConnection連接字符串。我怎樣才能自動檢測當我在本地運行,以及 - 當我在 - 覆蓋默認連接字符串?如何爲我的本地機器設置不同的web.config設置?
我有調試/版本轉換工作,但這些是爲了部署。我正在尋找一種方法來添加另一個選項 - 「本地」 - 如果有任何方法來做到這一點(或類似的東西)。
您需要添加解決方案配置才能添加web.config轉換。
設置你的項目配置,當你完成後,右鍵點擊web.config,選擇「添加變換」,你很好走!
然後,當你想使用你的本地連接字符串時,只需使用這個配置而不是調試。
這取決於你如何調試。如果您使用的是Cassini,則無論您選擇哪種解決方案配置(例如Debug或Release),afaik都會讀取您的web.config內容。
如果您使用本地IIS進行調試,則取決於您在IIS中設置的路徑。如果您已將其設置爲源代碼目錄,則需要將您的本地設置寫入web.config。如果您將代碼發佈到本地目錄並相應地設置IIS路徑,則可以使用web.config轉換。 (你說,你的web.config轉換工作)
對於其他未來的讀者:
我建議如下:在你的web.config中有你的調試設置。使用「發佈」設置(Web.Release.Config)創建解決方案配置,用於發佈過程。
查看http://www.tomot.de/en-us/article/5/asp.net/how-to-use-web.config-transforms-to-replace-appsettings-and-connectionstrings瞭解VS. 2010的web.config轉換教程。儘管VS 2012中的發佈對話框發生了變化,但您應該能夠將指南改編爲新版本。
提供的鏈接真的很有用。 –
嘗試創建web.config文件轉換爲這篇文章中描述
http://blogs.msdn.com/b/webdev/archive/2009/05/04/web-deployment-web-config-transformation.aspx
我還沒有這雖然嘗試過自己,但它看起來很有希望。
謝謝!儘管現在我遇到了一個問題,那就是我的本地轉換沒有得到應用。如果你有一分鐘,我已經問過一個單獨的問題:http://stackoverflow.com/questions/19301002/applying-web-config-transformations-locally – RobVious
你使用卡西尼或IIS或IIS Express嗎? @Citronas在下面解釋了這個權利:http://stackoverflow.com/a/19294757/375304 – CharlesAD
爲什麼這個答案被接受? OP表示他擁有網絡。config轉換工作,這個答案描述瞭如何創建web.config變換 – citronas