Il est possible d'avoir différents fichiers web.config pour un projet Team Foundation Server?
-
07-07-2019 - |
Question
J'ai un site Web simple ASP.NET MVC. Il possède les modes de configuration Debug, Testing et Release.
Nous utilisons TFS comme contrôle de source et de suivi de bogues, etc. Bien.
Nous allons maintenant utiliser Team Builds pour automatiser une intégration continue. Le fait est que nous ne savons pas comment faire pour que, si nous voulons créer une génération DEBUG ou une version RELEASE, le fichier web.config approprié soit également déposé dans le répertoire de destination. De plus, certaines sections du fichier web.config sont extraites pour séparer des fichiers (par exemple, la section de chaîne de connexion ou la section de clé d'ordinateur, etc.). Les fichiers d’environnement appropriés peuvent-ils être déposés correctement dans le répertoire de destination?
La solution
Vous pouvez effectuer un pre- étape de création
Dites que vous avez vérifié dans
- /Debug.Web.Config
- /Release.Web.Config
Vous pouvez écrire une étape préalable à la compilation pour vérifier le type de construction et copier le fichier .config approprié dans
.- /Web.Config
Quelque chose comme
cp $(ConfigurationName).Web.Config $(TargetDir)
Par ailleurs, ASP.net 4.0 prendra en charge plusieurs Web.Configs
Autres conseils
Incidemment, l'utilisation d'une étape de pré-génération ou post-génération ne fonctionnera pas sous Team Foundation Server. Il configure automatiquement la sécurité sur le répertoire de construction pour empêcher toute modification des fichiers de configuration pendant le processus de construction, que ce soit en tant qu'événements de pré-génération ou en tant qu'événements de post-génération. Le seul résultat de l'utilisation de cp est le renvoi d'un "Accès refusé". erreur.
Rechercher dans les transformations de configuration. http://msdn.microsoft.com/en-us/library/dd465326.aspx