Ich habe vor kurzem die automatische Umwandlung web.config im Web-Bereitstellungstool von Visual Studio 2010 entdeckt. Es funktioniert gut, aber ich habe ein Szenario, ich kann nicht scheinen zu arbeiten. Angenommen, ich habe folgendes Wurzel Web.configWeb.config-Umwandlung: Wie wendet man eine Umwandlung auf alle Knoten an, die einem Locator-Ausdruck entsprechen?
<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>
Für meine Web.Release.config, ich will alle Endpunktknoten mit einer Bindung von mexHttpBinding entfernt werden.
<services>
<service>
<endpoint binding="mexHttpBinding" xdt:Locator="Match(binding)" xdt:Transform="Remove" />
</service>
</services>
Dies wird jedoch nur entfernen Sie das erste Spiel, in dem Service1, aber nicht die folgenden:
Ich habe folgend in meinem Web.Release.config verwendet. Ich habe verschiedene Möglichkeiten zum Suchen des Knotens auf dem Endpunkt und dem Dienstknoten ausprobiert, aber nur die erste Übereinstimmung wird jemals ersetzt.
Gibt es eine Möglichkeit, alle <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
zu entfernen?
Danke.
Clement nur als Notiz Sie die Antwort unten anstatt Kommentar nur auf sie annehmen sollte. –