をあなたはweb.configファイルは、ドキュメントhereとthereを変換しますが、2白い象は誰も議論するようでないことがあります読み取ることができます。Web.configファイルを変換 - 欠落しているマニュアル
- を使用すると、変数置換を実行するにはどうすればよいです
Condition
またはXPath
変換、... Locator
はTransform
内にネスト有意義ことはできますか?
これらのオプションのいずれかを利用する例を挙げておきます。私はこれを持っていると仮定します。
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
は、XPath //runtime/assemblyBinding/dependentAssembly[[email protected]='System.Web.Mvc']
に一致する、私は完全にdependentAssembly
ノードを消去すると仮定して、その子。これを行うには、私はこのような何かをしたいかもしれません:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity
name="System.Web.Mvc"
xdt:Remove
xdt:Locator="Condition(..[*@name=$name])"
/>
</dependentAssembly>
</assemblyBinding>
</runtime>
まあ、明らかに私はxpath variable conceptsに基づく構文@name=$name
を占めていたが、私はその機能をしたいと思う理由は、この例が示しています。これはサポートされていますか?これを利用するために構文をどのように調整する必要がありますか?私は文字列リテラルを入れることができますが、これが可能かどうかを知りたいだけです。
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1" xdt:Transform="Remove">
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" xdt:Locator="Match(name)" />
</dependentAssembly>
</assemblyBinding>
</runtime>
お知らせTransform
が壮大-親ノード上で、ロケータはリーフノードである:
私はdependentAssembly
ノードを削除しようとするかもしれない別の方法は、これです。上記は正当なものですか?考え方は、内部ロケータマッチを持つdependantAssembly
ノードだけを削除することです。
これら2つのアプローチを除いて、ターゲットdependantAssembly
とそのすべての子ノードを削除するにはどうすればよいですか?
これは機能し、この質問の回答としてマークする必要があります。 – sebastiaan