Tareas avanzadas usando la transformación Web.Config

¿Alguien sabe si hay una manera de "transformar" secciones específicas de valores en lugar de reemplazar el valor completo o un atributo?

Por ejemplo, tengo varias entradas de AppSettings que especifican las URL para diferentes servicios web. Estas entradas son ligeramente diferentes en el entorno de desarrollo que en el entorno de producción. Algunos son menos triviales que otros

<!-- DEV ENTRY -->
<appSettings>
 <add key="serviceName1_WebsService_Url" value="http://wsServiceName1.dev.domain.com/v1.2.3.4/entryPoint.asmx" />
 <add key="serviceName2_WebsService_Url" value="http://ma1-lab.lab1.domain.com/v1.2.3.4/entryPoint.asmx" />
</appSettings>

<!-- PROD ENTRY -->
<appSettings>
 <add key="serviceName1_WebsService_Url" value="http://wsServiceName1.prod.domain.com/v1.2.3.4/entryPoint.asmx" />
 <add key="serviceName2_WebsService_Url" value="http://ws.ServiceName2.domain.com/v1.2.3.4/entryPoint.asmx" />
</appSettings>

Tenga en cuenta que en la primera entrada, la única diferencia es".dev" de ".prod". En la segunda entrada, el subdominio es diferente:"ma1-lab.lab1" de"ws.ServiceName2"

Hasta ahora, sé que puedo hacer algo así en la Web. Release.Config:

<add xdt:Locator="Match(key)" xdt:Transform="SetAttributes(value)" key="serviceName1_WebsService_Url" value="http://wsServiceName1.prod.domain.com/v1.2.3.4/entryPoint.asmx" />
<add xdt:Locator="Match(key)" xdt:Transform="SetAttributes(value)" key="serviceName2_WebsService_Url" value="http://ws.ServiceName2.domain.com/v1.2.3.4/entryPoint.asmx" />

Sin embargo, cada vez que se actualice la Versión para ese servicio web, también tendría que actualizar Web.Release.Config, lo que anula el propósito de simplificar mis actualizaciones de web.config.

Sé que también podría dividir esa URL en diferentes secciones y actualizarlas de forma independiente, pero prefiero tenerlo todo en una clave.

He examinado las transformaciones web.config disponibles, pero nada parece estar orientado hacia lo que estoy tratando de lograr.

Estos son los sitios web que estoy usando como referencia:

Blog de Vishal Joshi, Ayuda de MSDNyVideo de Channel9

Cualquier ayuda sería muy apreciada!

-RE

Respuestas a la pregunta(2)

Su respuesta a la pregunta