Dans sa forme la plus simple, app.config est un fichier XML avec de nombreuses sections de configuration prédéfinies disponibles et une prise en charge des sections de configuration personnalisées. Une «section de configuration» est un extrait de code XML avec un schéma destiné à stocker certains types d'informations.
Les paramètres peuvent être configurés à l'aide des sections de configuration intégrées telles que connectionStrings
ou appSettings
. Vous pouvez ajouter vos propres sections de configuration personnalisées; c'est un sujet avancé, mais très puissant pour créer des fichiers de configuration fortement typés.
Les applications Web ont généralement un fichier web.config, tandis que les applications GUI / service Windows ont un fichier app.config.
Les fichiers de configuration au niveau de l'application héritent des paramètres des fichiers de configuration globale, par exemple le fichier machine.config.
Lecture depuis l'App.Config
Les chaînes de connexion ont un schéma prédéfini que vous pouvez utiliser. Notez que ce petit extrait de code est en fait un fichier app.config (ou web.config) valide:
<?xml version="1.0"?>
<configuration>
<connectionStrings>
<add name="MyKey"
connectionString="Data Source=localhost;Initial Catalog=ABC;"
providerName="System.Data.SqlClient"/>
</connectionStrings>
</configuration>
Une fois que vous avez défini votre app.config, vous pouvez le lire dans le code à l'aide de la classe ConfigurationManager . Ne soyez pas intimidé par les exemples détaillés de MSDN; c'est en fait assez simple.
string connectionString = ConfigurationManager.ConnectionStrings["MyKey"].ConnectionString;
Ecrire dans l'App.Config
Changer fréquemment les fichiers * .config n'est généralement pas une bonne idée, mais il semble que vous ne souhaitiez effectuer qu'une seule configuration.
Voir: Modifier la chaîne de connexion et recharger app.config au moment de l'exécution qui décrit comment mettre à jour la connectionStrings
section du fichier * .config au moment de l'exécution.
Notez que, idéalement, vous effectueriez de telles modifications de configuration à partir d'un simple programme d'installation.
Emplacement de l'App.Config au Runtime
Q : Supposons que j'en change manuellement certains <value>
dans app.config, que je l'enregistre puis que je le ferme. Maintenant, lorsque je vais dans mon dossier bin et lance le fichier .exe à partir d'ici, pourquoi ne reflète-t-il pas les modifications appliquées?
R : Lorsque vous compilez une application, son app.config est copié dans le répertoire bin 1 avec un nom qui correspond à votre exe. Par exemple, si votre exe s'appelait "test.exe", il devrait y avoir un "text.exe.config" dans votre répertoire bin. Vous pouvez modifier la configuration sans recompiler, mais vous devrez modifier le fichier de configuration qui a été créé au moment de la compilation, pas le fichier app.config d'origine.
1: Notez que les fichiers web.config ne sont pas déplacés, mais restent au même emplacement au moment de la compilation et du déploiement. Une exception à cela est lorsqu'un web.config est transformé .
.NET Core
De nouvelles options de configuration ont été introduites avec .NET Core. Le fonctionnement des fichiers * .config ne semble pas avoir changé, mais les développeurs sont libres de choisir de nouveaux paradigmes de configuration plus flexibles.