Est-il possible de transformer le fichier appSettings Web.config suivant:
<appSettings>
<add key="developmentModeUserId" value="00297022" />
<add key="developmentMode" value="true" />
/* other settings here that should stay */
</appSettings>
en quelque chose comme ça:
<appSettings>
<add key="developmentMode" value="false" />
/* other settings here that should stay */
</appSettings>
Donc, je dois supprimer la clé developmentModeUserId et je dois remplacer la valeur de la clé developmentMode .
c#
asp.net
.net
web-config
libellule
la source
la source
xdt:Transform="SetAttributes" xdt:Locator="Match(key)"
pièce doit être utilisée dans le Web.Wwhat.config et non dans le fichier Web.config.Remplacement de tous les AppSettings
C'est le cas exagéré où vous voulez simplement remplacer une section entière du web.config. Dans ce cas, je remplacerai tous les AppSettings dans le web.config et les nouveaux paramètres dans web.release.config. Ceci est mon application web.config de base
Maintenant, dans mon fichier web.release.config, je vais créer une section appSettings sauf que j'inclurai l'attribut xdt: Transform = "Replace" car je veux simplement remplacer l'élément entier. Je n'ai pas eu à utiliser xdt: Locator car il n'y a rien à localiser - je veux juste essuyer l'ardoise et tout remplacer.
Notez que dans le fichier web.release.config ma section appSettings a trois clés au lieu de deux, et les clés ne sont même pas les mêmes. Voyons maintenant le fichier web.config généré ce qui se passe lorsque nous publions:
Tout comme nous nous y attendions - les appSettings web.config ont été complètement remplacés par les valeurs dans la configuration web.release. C'était facile!
la source
Si vous souhaitez transformer votre paramètre d'application du fichier de configuration Web en web.Release.config, vous devez effectuer les étapes suivantes. Laissez votre fichier de configuration d'application web.config est le suivant:
Voici maintenant le web.Release.config pour la transformation.
Cela transformera la valeur de K1 en la nouvelle valeur en mode réel.
la source
Je n'aime pas que les transformations aient plus d'informations que nécessaire. Donc, au lieu de reformuler les clés, j'énonce simplement la condition et l' intention . Il est beaucoup plus facile de voir l'intention lorsque cela est fait, du moins l'OMI. Aussi, j'essaie de mettre tous les
xdt
attributs en premier pour indiquer au lecteur, ce sont des transformations et non de nouvelles choses en train d'être définies.Dans ce qui précède, il est beaucoup plus facile de voir que le premier supprime l'élément. Le 2e définit les attributs. Il définira / remplacera tous les attributs que vous définissez ici. Dans ce cas, il sera simplement défini
value
surfalse
.la source