我正在使用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 - 所以似乎有引用关系。这让我很困惑。
在所有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>
我的问题是,
答案 0 :(得分:2)
您有不同的配置文件用于不同的设置。将Debug视为本地环境设置,例如连接到testserver的连接字符串,调试变量等等.Release设置将包含生产服务器的连接字符串等设置。
在顶部栏中,运行调试旁边应该是一个包含所有可用设置的下拉列表。你也可以添加一些。
此设置对于单击部署非常有用,例如带有VS2010的新WebDeploy
修改强>:
此链接How to use web.config transforms to replace appSettings and connectionStrings?应向您显示有关web.config转换的基本演练
答案 1 :(得分:1)
这是Visual Studio 2010中的新功能。它允许您为构建配置方案提供不同的配置文件。因此,当您构建调试模式时,它将包含Web.Debug.Config文件,在构建发布时也是如此。
这允许您为数据库维护不同的配置 - 一个用于您的开发环境和您的实时环境。
希望有所帮助!