Ich habe eine Web.config mit mehreren ConnectionStrings
<connectionStrings>
<add name="connStr1" connectionString="...
<add name="ConnStr2" connectionString="...
<add name="connStr3" connectionString="...
Gibt es eine Möglichkeit, mithilfe von Konfigurationsumwandlungen eine bestimmte Verbindungszeichenfolge zu entfernen? Etwas wie:
<connectionStrings>
<xdt:Remove connStr2?
Offensichtlich nicht annähernd die richtige Syntax, aber Sie bekommen meine Abweichung ...
Aus der MSDN-Dokumentation zum Thema:
<configuration xmlns:xdt="...">
<connectionStrings>
<add xdt:Transform="Remove" />
</connectionStrings>
</configuration>
Das Transform="Remove"
ist die Magie, die Sie suchen. Da ist auch ein Transform="RemoveAll"
, das Sie möglicherweise in Verbindung mit einem bestimmten Add (s) verwenden können.
[~ # ~] edit [~ # ~]
Auf den zweiten Blick können Sie möglicherweise auch das Locator
-Attribut mit dem oben definierten Remove
kombinieren, um einzugrenzen, welche Elemente Sie tatsächlich löschen möchten.
Genauer gesagt:
<configuration xmlns:xdt="...">
<connectionStrings>
<add xdt:Transform="Remove" xdt:Locator="XPath(configuration/connectionStrings[@name='ConnStr2'])" />
</connectionStrings>
</configuration>
Oder ähnlich sollte funktionieren.
Dadurch wird eine bestimmte Verbindungszeichenfolge basierend auf ihrem Namen entfernt.
<configuration>
<connectionStrings>
<add name="ConnStr2" xdt:Transform="Remove" xdt:Locator="Match(name)" connectionString=" " />
</connectionStrings>
</configuration>
Beachten Sie, dass der Wert connectionString
keine leere Zeichenfolge ist, sondern ein Leerzeichen. Jeder nicht leere Wert würde ausreichen.