在web.config转换中删除特定的连接字符串

时间:2013-05-24 23:58:31

标签: asp.net web-applications web-config

我的web.config中有一些连接字符串,我想在部署我的Web应用程序时使用web.config转换删除它。我发现MSDN页面正在讨论web.config转换,但它只列出了一个删除第一个条目的“删除”或删除所有条目的“RemoveAll”。有没有办法只删除特定的连接字符串?

  <connectionStrings>
<add name="DB"
     connectionString="Data Source=; Initial Catalog=; User ID=; Password=;"
     providerName="System.Data.SqlClient" />
<add name="ErrorLog"
     connectionString="Data Source=; Initial Catalog=; User ID=; Password=;"
     providerName="System.Data.SqlClient" />
<add name="SiteFiles"
     connectionString="" />
<add name="FanFiles"
     connectionString="" />

1 个答案:

答案 0 :(得分:5)

要按名称删除特定连接字符串,可以使用以下格式:

<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">

  <connectionStrings>
    <add name="ErrorLog" xdt:Transform="Remove" xdt:Locator="Match(name)" />
    <add name="SiteFiles" xdt:Transform="Remove" xdt:Locator="Match(name)" />
  </connectionStrings>

</configuration>

上面的转换xml将删除ErrorLogSiteFiles连接字符串。它使用xdt:Locator属性匹配name属性。