J'ai un Web.config avec plusieurs ConnectionStrings
<connectionStrings>
<add name="connStr1" connectionString="...
<add name="ConnStr2" connectionString="...
<add name="connStr3" connectionString="...
Existe-t-il un moyen d'utiliser des transformations de configuration pour supprimer une chaîne de connexion spécifique? Quelque chose comme:
<connectionStrings>
<xdt:Remove connStr2?
Évidemment pas du tout près de la syntaxe correcte, mais vous obtenez ma dérive ...
De la documentation MSDN sur le sujet:
<configuration xmlns:xdt="...">
<connectionStrings>
<add xdt:Transform="Remove" />
</connectionStrings>
</configuration>
Le Transform="Remove"
est la magie que vous recherchez. Il y a aussi Transform="RemoveAll"
que vous pourrez peut-être utiliser conjointement avec un ou des ajouts spécifiques.
[~ # ~] modifier [~ # ~]
Après réflexion, vous pouvez également combiner l'attribut Locator
avec le Remove
défini ci-dessus pour limiter les éléments que vous souhaitez réellement supprimer.
Plus définitivement:
<configuration xmlns:xdt="...">
<connectionStrings>
<add xdt:Transform="Remove" xdt:Locator="XPath(configuration/connectionStrings[@name='ConnStr2'])" />
</connectionStrings>
</configuration>
Ou similaire devrait fonctionner.
Cela supprimera une chaîne de connexion spécifique basée sur son nom.
<configuration>
<connectionStrings>
<add name="ConnStr2" xdt:Transform="Remove" xdt:Locator="Match(name)" connectionString=" " />
</connectionStrings>
</configuration>
Notez que la valeur connectionString
n'est pas une chaîne vide, mais plutôt un espace. Toute valeur non vide ferait l'affaire.