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?

Était-ce utile?

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

http://weblogs.asp.net/gunnarpeipman/archive/2009/06/03/visual-studio-2010-multiple-web-config-versions.aspx

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top