我正在使用VSTS 2010 + ASP.Net + C#4.0來學習WCF應用程序的其他人的代碼。除了Web.Config之外,我還發現了Web.Debug.config和Web.Release.config。我搜索了Web.Config的內容,但找不到任何對Web.Debug.config和Web.Release.config的引用。但是,在VSTS 2010 IDE解決方案資源管理器中,我發現Web.Config指向Web.Debug.config和Web.Release.config的箭頭 - 看起來有引用關係。這讓我感到困惑。ASP.Net中的web.config問題
在所有3的配置文件中,有具有不同值的相同的項目,例如,在web.config中,有以這種方式定義的連接字符串DBConnectinString,
<connectionStrings>
<add name="DBConnectinString" connectionString="data Source=10.10.10.123;uid=foo;pwd=foo;database=FOO" providerName="System.Data.SqlClient"/>
</connectionStrings>
而在Web.Debug.config ,有幾乎與不同的值相同的方式定義的連接字符串DBConnectinString,
<connectionStrings>
<add name="DBConnectinString" connectionString="data Source=10.10.10.124;uid=foo;pwd=foo;database=FOO" providerName="System.Data.SqlClient"/>
</connectionStrings>
我quesiton是,
- Web.Config和Web.Debug.config/Web.Release.config之間的關係是什麼?
- 爲什麼在Web.Config和Web.Debug.config/Web.Release.config中使用不同的值定義相同的項目?
謝謝。還有兩個問題,1. Web.Debug.Config中定義的連接字符串的優先級高於web.config(即將覆蓋web.config中定義的值)? 2.在運行時,例如IIS 7.0,它將使用web.config和Web.Debug.Config(我們是否需要將兩個配置文件都部署到IIS)?或者只是使用web.config? – George2 2010-10-09 17:18:47
它僅取決於您使用的構建配置。您可以查看這些鏈接:http://stackoverflow.com/questions/2791236/what-is-the-web-debug-config-and-web-release-config-file-for http://blogs.msdn.com /b/webdevtools/archive/2009/05/04/web-deployment-web-config-transformation.aspx您必須僅部署Web.config文件。 VIsual Studio已經採用了正確的版本,並將其替換爲您的版本。 – anthares 2010-10-09 17:20:38
IIS將只使用「Web.config」,其他都不會應用。我認爲你的第一個問題是正確的,但有人應該證實。 – Gup3rSuR4c 2010-10-09 17:21:04