我可以仅在web.debug.config中指定连接字符串吗?

时间:2012-09-04 22:19:04

标签: asp.net .net web-config

我有一组应用程序从IIS的根目录中的web.config继承其连接字符串。这意味着我不需要在应用程序的根目录中指定连接字符串,但我需要在本地调试时指定连接字符串。

我的问题是,如何在web.debug.config中设置只在我调试时才使用的连接字符串?

2 个答案:

答案 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>