Il est possible avec Visual Studio 2010 de générer des fichiers de configuration propre à l'environnement considéré avec la fonctionnalité Web.config Transform. Par défaut, cette fonctionnalité est automatiquement gérée par visual studio pour les projets web. Pour avoir le même comportement avec les fichiers app.config (projets non web) il existe un plug-in qui fera tout le travail pour vous : SlowCheetah - XML Transforms.
Comment ca marche ? Tout d'abord il est nécessaire d'ajouter un fichier de configuration dans votre projet(si cela n'est déja fait). Ensuite, avec un click droit sur votre fichier de configuration séléctionner l'option "Add Transform" ce qui va généré un fichier par configuration défine dans votre projet.
Ajouter les fichiers de transformations |
Il est à présent possible de définir ce qui doit être changé dans le fichier de configuration en fonction de l'environnement/configuration cible. Pour l'exercice, je voudrais avoir une paramètre de mon application qui change en fonction de l'environnement. Voici mon fichier de configuration :
Un exemple de fichier de configuration |
Je voudrais avoir la valeur "Hey this is the debug file" lorsque je suis dans mon environnement de debug. Pour ce faire, je modifie le fichier App.Debug.config comme suit :
Un exemple de transformation de configuration |
Dans mon projet, je référénce la configuration et je récupère le paramètre de configuration comme on le fait habituellement, par exemple (Une référence vers l'assembly System.Configuration est nécessaire) :
En fonction de la configuration choisie lors du build, le résultat retourné sera différent ! Il est possible de faire d'autres actions que simplement modifier le fichier de configuration. Pour plus d'informations, je vous invite à lire la document de la MSDN (voir sources)
Pour générer des fichiers de configuration propre à chaque environnement, il est possible de créer des configurations de build supplémentaires via le configuration manager (accessible via le menu Build/Configuration Manager). Une fois vos environnements définis, il suffit de recréer les fichiers de transformation en répétant l'opération "Add Transform" comme nous l'avons vu plutôt.
Sources et références:
Aucun commentaire:
Enregistrer un commentaire