10
votes

Comment utiliser la nouvelle configuration VS 2010 Transforme et appliquez-les à d'autres fichiers .config?

J'ai configuré certaines des transformations de la configuration dans mon web.config pour mes connexions, etc. Mais j'ai séparé certaines zones de mon web.config dans des fichiers distincts, ex) appsettages.config.

Comment puis-je configurer Visual Studio et MSBuild pour effectuer des transformations de configuration sur ces fichiers de configuration supplémentaires?

J'ai déjà suivi l'approche du Web.config pour relier les fichiers ensemble dans mon fichier de projet d'application Web, mais les transformations ne sont pas automatiquement appliquées. xxx


0 commentaires

3 Réponses :


11
votes

Par défaut, la cible Gestion de la transformation ( TransformWebConfig ) ne fonctionne que sur web.config fichier.


pour le faire fonctionner sur votre appsettings.config fichier que vous devrez:

  • Définissez l'action Build de votre fichier sur Contenu
  • appelez la cible MSBuild TransformWebConfig avec projectconfigfilename = appsettings.config et Configuration = $ (configuration) . .

    pour appeler msbuild transformwebconfig cible pour appsettages.config juste après la transformation de web.config fichiers, Vous devez ajouter ceci à la fin de votre fichier de projet: xxx


3 commentaires

Cela semble fonctionner. Mon fichier Appseinttings.config est transformé, mais lors de mon déploiement, le fichier de configuration final n'est pas placé dans le dossier de sortie.


J'ai mis à jour le code pour utiliser BeforeTarget et après-starget au lieu de remplacer TransformWebConfig Dependon de cibles et de gérer l'étape d'autoparametation. Maintenant, votre fichier de configuration personnalisé doit être dans le dossier de sortie avec web.config


J'ai aussi essayé votre solution. Comme @wallace Breza, il semble fonctionner: je peux voir le fichier Entlib.config transformé dans obj \ $ (configuration) \ TransformWebConfig \ transformé mais il n'est pas déployé. J'ai essayé d'utiliser le (clic droit sur le projet)> Publier ... (Méthode de publication: Système de fichiers) Approchez et utilisez également le package de déploiement de projet> Construire le déploiement que j'ai ensuite exécuté sur une autre machine. Les deux me laissent avec entlib.config sous sa forme originale et chacun de l'ENTLIB. ($ Configuration) .Config fichiers à côté de celui-ci.



5
votes

Quelque chose qui rend cela beaucoup plus facile, jetez un coup d'œil au Slowcheetah vs complément à ... VisualStudiogallery


1 commentaires

Merci Steve !!! Je suis certainement d'accord avec vous. Beaucoup plus facile. Je cherchais ce que vous avez suggéré exactement. Merci :)



3
votes

Voici le code qui fonctionne pour moi: xxx


0 commentaires