我有一组应用程序从IIS的根目录中的web.config继承其连接字符串。这意味着我不需要在应用程序的根目录中指定连接字符串,但我需要在本地调试时指定连接字符串。
我的问题是,如何在web.debug.config中设置只在我调试时才使用的连接字符串?
答案 0 :(得分:4)
您可以在普通的web.config中指定connectionstring,然后在web.release.config中添加一个只删除连接字符串的转换。
这样它应该存在于调试版本中,但不存在于web.release.config中。
当然,这假设您使用这些配置进行转换,而不是在部署时对代码进行简单的复制/粘贴
MSDN有一个很好的例子
以下示例显示如何选择所有连接字符串 在开发Web.config文件中添加元素。在部署中 Web.config文件,只删除了第一个连接字符串元素。
<configuration xmlns:xdt="...">
<connectionStrings>
<add xdt:Transform="Remove" />
</connectionStrings>
</configuration>
编辑:我猜你也可以在web.debug.config中创建一个转换,在调试时添加它,如果你在部署时不应用转换,这可能有助于使它远离原始web.config / p>
答案 1 :(得分:0)
将您的Debug连接字符串保存在Web.Config中,并使用定位器替换Web.Release.Config中的发布连接字符串,如下所示
<connectionStrings>
<add name="DefaultConnection" connectionString="Release Connections tring" providerName="System.Data.SqlClient"
xdt:Transform="SetAttributes" xdt:Locator="XPath(configuration/connectionStrings)"/>
</connectionStrings>