2010-07-04 10 views
1

J'utilise msdeploy pour transférer mes changements (via un script nant dans Team City) que je fais sur un site et c'est super !! J'ai juste une question, j'utilise msdeploy avec la fonction de synchronisation pour rendre ma vie plus facile.msdeploy sync et web.config

Actuellement, j'exclus le web.config dans msdeploy parce que je ne sais pas comment changer web.config à la volée. Comment modifier le fichier web.config sur le site de destination si je fais une synchronisation?

Répondre

1

Supposons que vous ayez un répertoire source avec un fichier web.config qui ressemble à ceci:

<configuration> 
    <system.web> 
     <randomSection name="value" name2="value2" /> 
    </system.web> 
</configuration> 

Et vous voulez changer l'attribut « nom » à « GoGermany »

msdeploy -verb:sync -source:dirpath=c:\source -dest:dirpath=c:\dest 
    -setParam:type=XmlFile,match=//randomSection/@name,scope=web.config$,value=GoGermany 

Cette va synchroniser les deux répertoires, tout en convertissant web.configs pour changer l'attribut @name. Le sous-paramètre "match" est un X-Path sélectionnant l'attribut à modifier.

Vous pouvez également utiliser le paramètre en utilisant type = "TextFile", auquel cas vous pouvez effectuer une correspondance/remplacement de regex avec le fichier entier. L'exemple ci-dessus utilise XmlFile, ce qui signifie une transformation d'attribut XML.

Espérons que ça aide.

+0

Merci beaucoup. Cela a sauvé ma journée! – DomenicDatti