web-dev-qa-db-fra.com

A quoi servent les fichiers Web.Debug.config et Web.Release.Config?

Je viens de mettre à niveau vers Visual Studio 2010 et MVC 2.0 et j'ai remarqué que le fichier Web.config est associé à deux fichiers supplémentaires? Ces fichiers sont-ils utilisés pour spécifier des paramètres spécifiques au débogage et à la publication, afin de ne pas encombrer le fichier Web.config principal?

Est-il judicieux de placer une chaîne de connexion dans le fichier Web.config racine si j’en ai une locale et une distante dans le débogage et la version Web.configs, respectivement?

Merci!

106
chobo

C'est la nouvelle fonctionnalité de transformation Web.config de Visual Studio 2010. Plus d'informations ici .


Modifier:

Ces fichiers sont-ils utilisés pour spécifier des paramètres spécifiques au débogage et à la publication, afin de ne pas encombrer le fichier web.config principal?

Il n’est pas limité à trois fichiers, vous pouvez (en théorie) avoir autant de fichiers que vous avez d’environnements. Le fichier Web.config "de niveau supérieur" fournit un modèle de votre configuration Web. Les fichiers qu'il contient fournissent des valeurs de remplacement spécifiques à cet environnement (par exemple, si vous avez différentes chaînes de connexion pour local/stage/test/peu importe).

Est-il judicieux de placer une chaîne de connexion dans le fichier racine web.config si j’en ai une locale et une distante dans le débogage et la version Web.configs, respectivement.

Cela n'aurait de sens que si cela ne changeait pas d'un environnement à l'autre. On dirait que dans votre cas, il en est ainsi, dans votre cas, non, il n’a aucun sens de le laisser dans le fichier Web.config.

94
R0MANARMY

Ce sont des fichiers de transformation Web.config. De déploiement Web ASP.NET à l'aide de Visual Studio: transformations de fichiers Web.config :

Il existe deux méthodes pour automatiser le processus de modification des paramètres du fichier Web.config: les transformations Web.config et les paramètres Web Deploy. Un fichier de transformation Web.config contient un balisage XML qui spécifie comment modifier le fichier Web.config lors de son déploiement. Vous pouvez spécifier différentes modifications pour des configurations de construction spécifiques et pour des profils de publication spécifiques. Les configurations de construction par défaut sont Debug et Release, et vous pouvez créer des configurations de construction personnalisées. Un profil de publication correspond généralement à un environnement de destination.

10
eKek0

Si cela vous intéresse, voici ce que j’ai écrit pour créer une chaîne de connexion dynamique par environnement. Je souhaitais déployer le code dans n’importe quel environnement (développement, test, pré-production, production, etc.) sans avoir à s’inquiéter de la modification des chaînes de connexion. Je ne trouvais pas vraiment un bon moyen de faire cela avec Asp.Net MVC 4, alors j’ai trouvé ma propre façon de compter sur un fichier de propriétés par environnement.

Il existe peut-être une meilleure solution. Je viens d’un contexte Wicket/Java et j’ai récemment commencé à développer avec MVC 4, il est donc possible qu’une meilleure solution existe. Mais voici un lien vers ma question et ma réponse pour une chaîne de connexion dynamique:

chaîne de connexion dynamique Asp.net MVC 4

1
eaglei22