Quelqu'un sait-il s'il existe un moyen de "transformer" des sections spécifiques de valeurs au lieu de remplacer la valeur entière ou un attribut ?
Par exemple, j'ai plusieurs entrées appSettings qui spécifient les Urls de différents services Web. Ces entrées sont légèrement différentes dans l'environnement de développement et dans l'environnement de production. Certaines sont moins triviales que d'autres
<!-- 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>
Remarquez que sur la première entrée, la seule différence est ".dev" de ".prod". Sur la deuxième entrée, le sous-domaine est différent : "ma1-lab.lab1" de "ws.ServiceName2"
Jusqu'à présent, je sais que je peux faire quelque chose comme ça dans le fichier 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" />
Cependant, chaque fois que la version de ce service Web est mise à jour, je devrais également mettre à jour la configuration Web.Release.Config, ce qui va à l'encontre de l'objectif de simplification des mises à jour de ma configuration Web.
Je sais que je pourrais aussi diviser cette URL en différentes sections et les mettre à jour indépendamment, mais je préfère avoir tout en une seule clé.
J'ai regardé les transformations web.config disponibles mais rien ne semble être orienté vers ce que j'essaie d'accomplir.
Voici les sites web que j'utilise comme référence :
Le blog de Vishal Joshi , Aide MSDN et Vidéo de Channel9
Toute aide serait très appréciée !
-D