Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article explique comment stocker des informations personnalisées à partir d’un fichier de configuration que vous pouvez récupérer ultérieurement pendant l’exécution par son application associée. Il est utile de définir des données associées à une application.
Note
Le code de cet article cible .NET Framework 2.0 et versions ultérieures. Pour savoir quelles versions spécifiques la ConfigurationManager classe s’applique, consultez la section S’applique à .
Version du produit d’origine : Visual C#
Numéro de base de connaissances d’origine : 815786
Spécifications
La liste suivante décrit le matériel et les logiciels recommandés dont vous avez besoin :
- Microsoft Windows
- Visual C#
Cet article suppose que vous êtes familiarisé avec les rubriques suivantes :
- XML (Extensible Markup Language)
- Fichiers de configuration .NET
Créer une application console qui lit un fichier de configuration
Vous pouvez stocker les paramètres d’application dans le fichier de configuration associé à l’application. Les fichiers de configuration sont enregistrés au format XML.
System.Collections.Specialized Les System.Configuration espaces de noms du .NET Framework incluent les classes nécessaires pour récupérer des informations à partir d’un fichier de configuration d’application .NET pendant l’exécution.
Pour créer une application console qui lit le contenu d’un fichier de configuration associé pendant l’exécution, procédez comme suit :
Démarrez Visual Studio .NET ou Visual Studio.
Dans le menu Fichier , pointez sur Nouveau, puis sélectionnez Projet.
sélectionnez Visual C# sous Types de projets, puis sélectionnez Application console sous Modèles. Nommez le projet ConConfig. Par défaut, Visual C# crée une classe nommée Program.
Note
Dans Visual Studio .NET, sélectionnez Projets Visual C# sous Types de projets, puis sélectionnez Application console sous Modèles. Nommez le projet ConConfig. Par défaut, Visual C# crée une classe nommée Class1.
Vérifiez que la fenêtre Explorateur de solutions est visible. S’il n’est pas visible, appuyez sur la combinaison de touches Ctrl+Alt+L.
Dans Explorateur de solutions, cliquez avec le bouton droit sur le nom du projet, sélectionnez Ajouter, puis sélectionnez Nouvel élément.
Dans la liste Ajouter un nouvel élément , sélectionnez Fichier XML.
Dans la zone de texte Nom , tapez App.config, puis sélectionnez Ajouter.
Vous pouvez utiliser un fichier de configuration d’application pour collecter les paramètres d’application personnalisés que vous enregistrez au format clé/valeur. Vous pouvez inclure des
<add>éléments dans la<appSettings>section d’un fichier de configuration associé. Chaque paire clé/valeur a un<add>élément. Un<add>élément a le format suivant :<add key="Key0" value="0" />Ajoutez une section avec
<add>des<appSettings>éléments au fichier de configuration entre les étiquettes et</configuration>les<configuration>étiquettes.Par exemple, le fichier de configuration suivant comprend une
<appSettings>section qui spécifie trois paires clé/valeur :<?xml version="1.0" encoding="utf-8" ?> <configuration> <appSettings> <add key="Key0" value="0" /> <add key="Key1" value="1" /> <add key="Key2" value="2" /> </appSettings> </configuration>Dans Explorateur de solutions, double-cliquez sur Program.cs pour afficher la fenêtre de code. Ajoutez les instructions suivantes à votre module de code.
Note
Ces instructions doivent apparaître avant toute autre instruction du fichier.
using System.Configuration; using System.Collections.Specialized;Ajoutez une référence à System.Configuration.dll en procédant comme suit :
- Dans le menu Projet, sélectionnez Ajouter une référence.
- Dans la boîte de dialogue Ajouter une référence , sélectionnez l’onglet .NET .
- Recherchez et sélectionnez le nom du composant de
System.Configuration. - sélectionnez OK.
Pour contenir la valeur d’une clé de fichier de configuration dans la
<appSettings>section du fichier de configuration, déclarez une variable de chaîne dans laMainsection comme suit :string sAttr;Pour récupérer une valeur pour une clé spécifiée à partir de la
<appSettings>section du fichier de configuration, utilisez laGetméthode de laAppSettingspropriété de la classe ConfigurationManager . La classeConfigurationManagerse trouve dans l’espace de nomsSystem.Configuration. Lorsque laAppSettings.Getméthode reçoit un paramètre d’entrée de chaîne qui contient une clé, l’application récupère la valeur associée à la clé.Le code suivant récupère la valeur de l’attribut
Key0à partir du fichier de configuration associé. Le code place ensuite cette valeur dans lasAttrvariable de chaîne. Si une clé n’existe pas pour cette valeur, rien n’est stocké danssAttr.sAttr = ConfigurationManager.AppSettings.Get("Key0");Pour afficher la valeur que l’application récupère dans la fenêtre console, utilisez
Console.WriteLinela commande suivante :Console.WriteLine("The value of Key0 is "+sAttr);Vous pouvez utiliser une référence à la
AppSettingspropriété pour récupérer toutes les paires clé/valeur dans la<appSettings>section. Lorsque vous utilisez laAppSettingspropriété, l’application retourne toutes les paires clé/valeur associées. Ces paires sont stockées dans unNameValueCollectiontype. ContientNameValueCollectiondes entrées clé/valeur pour chaque clé récupérée par l’application. La classeNameValueCollectionse trouve dans l’espace de nomsSystem.Collections.Specialized.NameValueCollection sAll ; sAll = ConfigurationManager.AppSettings;Propriété
AllKeysde références d’un tableau deNameValueCollectionchaînes qui a une entrée pour chaque clé récupérée par l’application. Utilisez une construction foreach pour itérer dans leAllKeystableau pour accéder à chaque clé récupérée par l’application. Chaque entrée de clé estAllKeysun type de données de chaîne.À l’intérieur de la
foreachconstruction, utilisez cette optionConsole.WriteLinepour afficher la clé et sa valeur associée dans la fenêtre console. Clé actuelle dans laquelle l’application traite .sUtilisez-le comme index dans lesAllNameValueCollectionbut d’obtenir sa valeur associée.foreach (string s in sAll.AllKeys) Console.WriteLine("Key: "+ s + " Value: " + sAll.Get(s)); Console.ReadLine();
Listing du code complet
using System;
using System.Configuration;
using System.Collections.Specialized;
namespace ConConfig
{
class Program
{
static void Main(string[] args)
{
string sAttr;
// Read a particular key from the config file
sAttr = ConfigurationManager.AppSettings.Get("Key0");
Console.WriteLine("The value of Key0: " + sAttr);
// Read all the keys from the config file
NameValueCollection sAll;
sAll = ConfigurationManager.AppSettings;
foreach (string s in sAll.AllKeys)
Console.WriteLine("Key: " + s + " Value: " + sAll.Get(s));
Console.ReadLine();
}
}
}
Liste complète des fichiers de configuration (ConConfig.exe.config)
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="Key0" value="0" />
<add key="Key1" value="1" />
<add key="Key2" value="2" />
</appSettings>
</configuration>
Vérifiez qu’elle fonctionne
Appuyez sur F5 pour exécuter le code. La fenêtre console doit afficher les paires clé/valeur de la <appSettings> section du fichier de configuration associé comme suit :
The value of Key0: 0
Key: Key0 Value:0
Key: Key1 Value:1
Key: Key2 Value:2
Résolution des problèmes
Le fichier de configuration est enregistré au format XML. Veillez à suivre toutes les règles de syntaxe XML. N’oubliez pas que XML respecte la casse. Si le code XML n’est pas bien formé ou si un élément est mal orthographié, vous recevez une
System.Configuration.Configurationexception.Par exemple, si vous ajoutez l’attribut clé d’un
<add>élément avec un K majuscule au lieu d’un k minuscule, ou si la<appSettings>section apparaît comme<AppSettings>(avec un majuscule A au lieu d’un minuscule a), vous recevez un message d’erreur.Le fichier de configuration doit être enregistré dans le même dossier que son application associée.
Vous devez utiliser la syntaxe suivante pour le nom du fichier de configuration :
<ApplicationName>.<ApplicationType.config>Où <ApplicationName> est le nom de l’application. <ApplicationType> est le type d’application, par
.exeexemple . Il.configs’agit du suffixe requis.