8

私は最近、visual studio 2010のWebデプロイメントツールでweb.config自動変換を発見しました。 これはうまくいきますが、うまくいかないシナリオがあります。 は私がmexHttpBindingの結合が取り除かれるべきですべてのエンドポイントノードをしたい、私は私のWeb.Release.configために、次のルートWeb.configWeb.config変換:ロケータ式に一致するすべてのノードに変換を適用する方法は?

<services> 
    <service name="Service1"> 
    <endpoint address="" binding="customBinding" bindingConfiguration="LargeBufferBinding" 
     contract="Service1" /> 
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" /> 
    </service> 
    <service name="Service2"> 
    <endpoint address="" binding="customBinding" bindingConfiguration="LargeBufferBinding" 
     contract="Service2" /> 
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" /> 
    </service> 
    <service name="Service3"> 
    <endpoint address="" binding="customBinding" bindingConfiguration="LargeBufferBinding" 
     contract="Service3" /> 
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" /> 
    </service> 
</services> 

を持っていると仮定します。

私は私のWeb.Release.configに次のように使用しました:

<services> 
    <service> 
    <endpoint binding="mexHttpBinding" xdt:Locator="Match(binding)" xdt:Transform="Remove" /> 
    </service> 
</services> 

しかし、これは唯一以下のものサービス1に、最初のマッチを削除しませんが。 私はエンドポイントとサービスノードでノードを見つけるさまざまな方法を試みましたが、最初のマッチだけが置き換えられました。

<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />をすべて削除する方法はありますか。

ありがとうございました。

+0

クレメントちょうどメモとしてあなたは以下の答えを受け入れるべきではなく、ただそれについてのコメント。 –

答えて

12

私はこれを試して、代わりに削除のREMOVEALL使用してきたがトリックを行うようだ:

<services> 
    <service> 
    <endpoint binding="mexHttpBinding" xdt:Locator="Match(binding)" xdt:Transform="RemoveAll" /> 
    </service> 
</services> 
+0

それはそれをしました。ありがとう! – Clement

+0

Insert Allの場合と同様の機能はありますか? InsertAllが認識されません。 – grimus

+0

@grimus「すべて挿入」の質問に対する解決策を見つけましたか? –

関連する問題