transformation web.config: comment appliquer une transformation à tous noeud correspondant à une expression de localisation?

StackOverflow https://stackoverflow.com/questions/4637107

Question

Je l'ai récemment découvert la transformation web.config automatique dans l'outil de déploiement Web de Visual Studio 2010. Il fonctionne bien, mais j'ai un scénario que je ne peux pas sembler faire fonctionner. Je suppose que la racine suivante Web.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>

Pour ma Web.Release.config, je veux tous les noeuds d'extrémité avec une liaison de mexHttpBinding à supprimer.

Je l'ai utilisé ce qui suit dans mon Web.Release.config:

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

Toutefois, cela ne supprime le premier match, dans le Service1, mais pas les suivantes. J'ai essayé différentes façons de localiser le noeud, sur le nœud de point final et le service, mais seul le premier match remplacé obtient jamais.

Est-il possible d'obtenir toutes les <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" /> à enlever?

Merci.

Était-ce utile?

La solution

Je viens d'essayer cela et en utilisant RemoveAll au lieu de Supprimer semble faire l'affaire:

<services>
  <service>
    <endpoint binding="mexHttpBinding" xdt:Locator="Match(binding)" xdt:Transform="RemoveAll" />
  </service>
</services>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top