我正在使用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