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

3 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="" />
Run Code Online (Sandbox Code Playgroud)

rsb*_*rro 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>
Run Code Online (Sandbox Code Playgroud)

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