8

VS2010経由で利用可能なweb.configトランスフォームを使用しています。この1つのケースでは、変換中に要素を別の要素で「囲む」ことが可能かどうか疑問に思っています。次に例を示します。

デフォルトのweb.configには次のものが含まれます。

<configuration>
  <system.web>
   ....
  </system.web>
</configuration>

変換されたファイルには

<configuration>
  <location inheritInChildApplications="false">
    <system.web>
    ...
    </system.web>
  </location>
</configuration>

したがって、基本的には、system.web要素をlocation要素で「ラップ」したいと思います。私の唯一の考えは、次のように前後に挿入するように変換を行うことでした。

<location inheritInChildApplications="false" 
          xdt:Transform="InsertBefore(/configuration/system.web)">
</location xdt:Transform="InsertAfter(/configuration/system.web)">

しかし、VSによると、終了位置要素は有効なxmlではありません(Transform属性のために推測しています)。結果のsystem.webはまだ「囲まれていない」ため、system.webの前に自己閉鎖位置要素を挿入するだけでも役に立ちません。

4

2 に答える 2

2

現在、web.config 変換を使用してこれを行うことはできませんが、カスタム変換を作成した場合は実際に実行可能であるはずです... カスタム変換の作成方法についてドキュメントの更新が行われていますが、まだではありません。今出...

出来上がり次第掲載させていただきます。...

于 2010-12-17T18:10:55.040 に答える
2

webconfig に空のロケーション タグを追加しても、効果はありません。

次に、これを変換ファイルの他の場所と同じ場所に配置できます。

<location xdt:Locator="XPath(some xpath expression)" 
          inheritChildApplications="false" 
          xdt:Transform="SetAttributes(inheritChildApplications)">

終了タグも含めて。

于 2013-01-29T01:07:54.697 に答える