Utiliser Visual C# pour stocker et récupérer des informations personnalisées à partir d’un fichier de configuration d’application
Cet article explique comment stocker des informations personnalisées à partir d’un fichier de configuration que vous pouvez récupérer ultérieurement au moment de l’exécution par son application associée. Il est utile de définir des données associées à une application.
Version d’origine du produit : Visual C#
Numéro de la base de connaissances d’origine : 815786
Configuration requise
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 de l’application dans le fichier de configuration associé à l’application. Les fichiers de configuration sont enregistrés au format XML.
Les System.Configuration
espaces de noms et System.Collections.Specialized
dans le .NET Framework incluent les classes nécessaires pour récupérer des informations à partir d’un fichier de configuration d’application .NET au moment de l’exécution.
Pour créer une application console qui lit le contenu d’un fichier de configuration associé au moment de 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 application console sous Modèles. Nommez le projet ConConfig. Par défaut, Visual C# crée une classe nommée Program.
Remarque
Dans Visual Studio .NET, sélectionnez Projets Visual C# sous Types de projets, puis application console sous Modèles. Nommez le projet ConConfig. Par défaut, Visual C# crée une classe nommée Class1.
Assurez-vous 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
<appSettings>
section avec<add>
des éléments au fichier de configuration entre les<configuration>
balises et</configuration>
.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.
Remarque
Ces instructions doivent apparaître avant toutes les autres instructions 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 conserver 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 laMain
section 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 laGet
méthode de laAppSettings
propriété de laConfigurationManager
classe . LaConfigurationManager
classe se trouve dans l’espace deSystem.Configuration
noms . Lorsque laAppSettings.Get
mé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 la variable desAttr
chaîne. Si aucune clé n’existe 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.WriteLine
comme suit :Console.WriteLine("The value of Key0 is "+sAttr);
Vous pouvez utiliser une référence à la
AppSettings
propriété pour récupérer toutes les paires clé/valeur dans la<appSettings>
section . Lorsque vous utilisez laAppSettings
propriété , l’application retourne toutes les paires clé/valeur associées. Ces paires sont stockées dans unNameValueCollection
type . contient desNameValueCollection
entrées clé/valeur pour chaque clé récupérée par l’application. LaNameValueCollection
classe se trouve dans l’espace deSystem.Collections.Specialized
noms .NameValueCollection sAll ; sAll = ConfigurationManager.AppSettings;
La
AllKeys
propriété deNameValueCollection
fait référence à un tableau de chaînes qui a une entrée pour chaque clé récupérée par l’application. Utilisez une construction foreach pour itérer au sein duAllKeys
tableau afin d’accéder à chaque clé récupérée par l’application. Chaque entrée de clé dansAllKeys
est un type de données chaîne.À l’intérieur de la
foreach
construction, utilisezConsole.WriteLine
pour afficher la clé et la valeur associée dans la fenêtre console. La clé actuelle que l’application traite se trouve danss
. Utilisez-le en tant qu’index dans poursAllNameValueCollection
obtenir sa valeur associée.foreach (string s in sAll.AllKeys) Console.WriteLine("Key: "+ s + " Value: " + sAll.Get(s)); Console.ReadLine();
Liste complète du code
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();
}
}
}
Remarque
Ce code cible .NET Framework 2.0. Si vous utilisez .NET Framework 1.0 ou .NET Framework 1.1, remplacez toutes les instances de la classe par ConfigurationManager
ConfigurationSettings
.
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érifier que cela 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ésoudre les problèmes
Le fichier de configuration est enregistré au format XML. Veillez à suivre toutes les règles de syntaxe XML. N’oubliez pas que le code XML respecte la casse. Si le code XML n’est pas correctement formé ou si un élément est mal orthographié, vous recevez une
System.Configuration.Configuration
exception.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 A majuscule 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>.<.config ApplicationType>Où <ApplicationName> est le nom de l’application. <ApplicationType> est le type d’application, tel que
.exe
. Et.config
est le suffixe requis.
References
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour