I have a Web.config with several ConnectionStrings
From the MSDN documentation on the subject:
<configuration xmlns:xdt="...">
<connectionStrings>
<add xdt:Transform="Remove" />
</connectionStrings>
</configuration>
The Transform="Remove"
is the magic you're looking for. There is also a Transform="RemoveAll"
which you might be able to use in conjunction with a specific add(s).
EDIT
On second thought you may also be able to combine the Locator attribute with the Remove
defined above to limit which elements you actually want to delete.
More definitively:
<configuration xmlns:xdt="...">
<connectionStrings>
<add xdt:Transform="Remove" xdt:Locator="XPath(configuration/connectionStrings[@name='ConnStr2'])" />
</connectionStrings>
</configuration>
Or similar should work.
This will remove a specific connection string based on its name.
<configuration>
<connectionStrings>
<add name="ConnStr2" xdt:Transform="Remove" xdt:Locator="Match(name)" connectionString=" " />
</connectionStrings>
</configuration>
Note that the connectionString
value is not empty string, but is instead a space. Any non-empty value would do.