transformación web.config: cómo aplicar una transformación a todos los nodos coincidan con una expresión de localización?

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

Pregunta

he descubierto recientemente el web.config transformación automática en la herramienta de despliegue Web de Visual Studio 2010. Está funcionando bien, pero tengo un escenario que parece que no puede conseguir trabajo. Suponemos que tengo la siguiente raíz 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>

Para mi Web.Release.config, quiero todos los nodos de punto final con una unión de mexHttpBinding que ser eliminado.

He utilizado el siguiente en mi Web.Release.config:

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

Sin embargo, esto sólo quitar el primer partido, en el Service1, pero no los siguientes. He intentado varias manera de localizar el nodo, en el nodo de punto final y el servicio, pero sólo el primer partido de la historia es reemplazado.

¿Hay una manera de obtener toda la <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" /> que ser eliminado?

Gracias.

¿Fue útil?

Solución

He acaba de intentar esto y usando en lugar de RemoveAll Quitar parece hacer el truco:

<services>
  <service>
    <endpoint binding="mexHttpBinding" xdt:Locator="Match(binding)" xdt:Transform="RemoveAll" />
  </service>
</services>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top