1. ホーム
  2. asp.net

[解決済み] web.configの変換で "Replace Or Insert "を行う方法はありますか?

2022-04-20 12:22:49

質問

異なる環境用の設定を生成するために、以下の投稿に記載されているようにweb.configの変換を使用しています。

http://vishaljoshi.blogspot.com/2009/03/web-deployment-webconfig-transformation_23.html

キーにマッチすることでquot;Replace"変換を行うことができるのですが、例えば。

<add key="Environment" value="Live" xdt:Transform="Replace" xdt:Locator="Match(key)" />

そして、例えば "Inserts"を行うことができます。

<add key="UseLivePaymentService" value="true" xdt:Transform="Insert" />

しかし、私なら 本当に 元の設定ファイルが特定のキーを持つか持たないかに常に依存することはできないので、便利なのはReplaceOrInsert変換です。

何か方法はないでしょうか?

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

安価な回避策を見つけました。 しかし、この方法は、きれいではありませんし、置換や挿入を必要とする要素がたくさんある場合には、あまりうまくいきません。

Remove"してから、"InsertAfter|InsertBefore"してください。

例えば

<authorization xdt:Transform="Remove" />
<authorization xdt:Transform="InsertAfter(/configuration/system.web/authentication)">
  <deny users="?"/>
  <allow users="*"/>
</authorization>