1. ホーム
  2. c#

[解決済み] Config Transformationsを使用してConnectionStringを削除する方法

2023-08-13 16:25:51

質問

Web.config にいくつかの ConnectionString があります。

<connectionStrings>
    <add name="connStr1" connectionString="...
    <add name="ConnStr2" connectionString="...
    <add name="connStr3" connectionString="...

特定の接続文字列を削除するために、設定変換を使用する方法はありますか?何かのように。

<connectionStrings>
    <xdt:Remove connStr2?

明らかに正しい構文にはほど遠いですが、私の考えをご理解ください...

どのように解決するのですか?

からの MSDN ドキュメント を参照してください。

<configuration xmlns:xdt="...">
  <connectionStrings>
    <add xdt:Transform="Remove" />
  </connectionStrings>
</configuration>

Transform="Remove" は、あなたが探しているマジックです。また Transform="RemoveAll" もあり、これは特定の add(s) と組み合わせて使うことができるかもしれません。

EDIT

よくよく考えてみると、このように Locator 属性 と共に Remove を追加することで、実際に削除したい要素を限定することができます。

より決定的に

<configuration xmlns:xdt="...">
  <connectionStrings>
    <add xdt:Transform="Remove" xdt:Locator="XPath(configuration/connectionStrings[@name='ConnStr2'])" />
  </connectionStrings>
</configuration>

または類似のものが動作するはずです。