Est-il possible de transformer les valeurs des sections personnalisées web.config lors de l'utilisation de MSDeploy? Selon la configuration de la construction, j'ai besoin de changer la valeur "useCache" par exemple.Comment faire pour transformer des sections personnalisées Web.config avec MSDeploy?
Répondre
Ecrire une transformation dans le fichier de transformation de config (web.config.release)
<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<myGroup>
<data useCache="false" xdt:Transform="SetAttributes(useCache)" />
</myGroup>
</configuration>
Oui, MSDeploy prend cela en charge assez facilement. Lorsque vous créez un package de déploiement, vous devez utiliser l'option -declareParm
pour créer un paramètre remplaçable dans votre package de déploiement. Vous souhaitez utiliser quelque chose comme:
-declareParam:name=UseCache,kind=XmlFile,scope=web.config,match="/configuration/myGroup/data/@useCache"
Ensuite, lors du déploiement de votre forfait, vous devriez utiliser la commande -setParm
pour remplacer le paramètre au cours du déploiement. Quelque chose comme:
-setParam:name=UseCache,value="false"
Cet exemple remplacerait le paramètre useCache, qui pointe à l'attribut useCache dans le fichier web.config avec « false ».
Vous pouvez déclarer n'importe quel nombre de paramètres à remplacer et MSDeploy prend en charge l'utilisation de fichiers pour contenir les paramètres. Les fichiers sont des fichiers Xml simples que vous utiliserez ensuite la syntaxe -setParamFile:<filename>
et -declareParamFile:<filename>
.