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? P>
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. p>
3 Réponses :
Par défaut, la cible Gestion de la transformation ( pour le faire fonctionner sur votre pour appeler msbuild TransformWebConfig code>) ne fonctionne que sur
web.config code> fichier.
appsettings.config code> fichier que vous devrez: p>
Build code> de votre fichier sur
Contenu CODE> LI>
TransformWebConfig code> avec
projectconfigfilename = appsettings.config code> et
Configuration = $ (configuration) code>. Li>.
ul>
transformwebconfig code> cible pour
appsettages.config code> juste après la transformation de
web.config code> fichiers, Vous devez ajouter ceci à la fin de votre fichier de projet: p>
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.
Quelque chose qui rend cela beaucoup plus facile, jetez un coup d'œil au Slowcheetah vs complément à ... VisualStudiogallery P>
Merci Steve !!! Je suis certainement d'accord avec vous. Beaucoup plus facile. Je cherchais ce que vous avez suggéré exactement. Merci :)
Voici le code qui fonctionne pour moi: