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

Asp.net 删除web.config转换中的特定连接字符串,asp.net,web-applications,web-config,Asp.net,Web Applications,Web Config,我的web.config中有一些连接字符串,我想在部署web应用程序时使用web.config转换删除这些字符串。我发现MSDN页面谈论web.config转换,但它只列出一个“Remove”来删除第一个条目,或者列出一个“RemoveAll”来删除所有条目。有没有办法只删除特定的连接字符串 <connectionStrings> <add name="DB" connectionString="Data Source=; Initial Catalog=; Us

我的web.config中有一些连接字符串,我想在部署web应用程序时使用web.config转换删除这些字符串。我发现MSDN页面谈论web.config转换,但它只列出一个“Remove”来删除第一个条目,或者列出一个“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="" />


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

<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将删除
ErrorLog
SiteFiles
连接字符串。它使用
xdt:Locator
属性来匹配
name
属性。

你能发布一些你的web.config(只使用…作为连接字符串)吗?这样我就可以知道你是如何设置它的?我想我可以帮忙,但需要更多的信息。@rsbarro我已经添加了一些字符串。有些是DB连接,有些是Azure上的文件存储连接。这些只是少数,我有大约20根弦。其中5或6个仅用于开发。您知道我可以用什么方法检查转换是否有效吗?我加入了新代码并进行了构建解决方案,但当我在解决方案所在的目录上进行windows查找时,我没有看到任何新的web.config文件。请查看此帖子:。默认情况下,它们不会转换。我大部分时间都使用msbuild和构建脚本来应用转换。我发布的链接概述了在VisualStudio中通过后期构建任务应用转换的方法。无论如何,这可能是一个单独的问题…=]谢谢,我的网站的一个新页面快完成了,所以我今天发布新更新时会查看推送到Azure的web.config。不幸的是,这不起作用。我得到错误“连接字符串参数不能为null或空”。你能提供更多关于它如何不工作的细节吗?是否应用了任何转换(与项目中的web.config相比,您在部署的web.config中是否看到任何更改)?您是否在单独的文件中定义了转换?您是否有任何其他转换可以正常工作?