Comment faire pour stocker et récupérer les informations personnalisées d'un fichier de configuration application à l'aide de Visual C#

Traductions disponibles Traductions disponibles
Numéro d'article: 815786 - Voir les produits auxquels s'applique cet article
Pour une version de Microsoft Visual Basic .NET de cet article, voir 313405.
Cet article se réfère au Microsoft .NET Framework suivant espace de noms de bibliothèque de classes :
  • System.Configuration
Agrandir tout | Réduire tout

Sommaire

Résumé

Cet article explique comment stocker les informations personnalisées dans un fichier de configuration (.config) que vous pouvez retrouver ultérieurement lors de l'exécution par son application associée. Cette fonction est utile lorsque vous devez définir les données associé à une application.

Configuration requise

La liste suivante met en évidence le matériel recommandé, logiciel infrastructure réseau et service packs dont vous avez besoin :
  • Microsoft Windows 2000, Windows XP, Windows Server 2003, Windows Vista ou Windows Server 2008
  • Microsoft Visual C#
Cet article suppose que vous êtes familiarisé avec les sujets suivants :
  • (XML) Extensible Markup Language
  • Fichiers de configuration .NET

Créer une application console lectures le contenu d'un fichier de configuration

Vous pouvez stocker paramètres d'application dans le fichier configuration qui est associé à l'application. Les fichiers de configuration sont enregistrés dans XML format.

Le System.Configuration et les espaces de noms System.Collections.Specialized dans le Microsoft .NET Framework comprennent les classes nécessaires pour extraire des informations d'un fichier de configuration d'application .NET lors de l'exécution.

Pour créer une application de console qui lit le contenu d'un fichier de configuration associé au moment de l'exécution, procédez comme suit :
  1. Démarrez Visual Studio .NET ou Visual Studio 2005.
  2. Dans le menu Fichier , pointez sur Nouveau , puis cliquez sur projet .
  3. Cliquez sur Visual C# sous types de projet , puis cliquez sur application console sous modèles . Nommez le projet ConConfig . Par défaut, Visual C# crée une classe qui est nommée programme.

    note Dans Visual Studio .NET 2003, cliquez sur projets Visual C# sous types de projet , puis cliquez sur application console sous modèles . Nommez le projet ConConfig . Par défaut, Visual C# crée une classe qui est nommée Class1.
  4. Assurez-vous que la fenêtre Explorateur de solutions est visible. Si elle n'est pas visible, appuyez sur la combinaison de touches CTRL + ALT + L.
  5. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le nom du projet, cliquez sur Ajouter et puis cliquez sur Nouvel élément .
  6. Dans la liste Ajouter un nouvel élément , cliquez pour sélectionner un fichier XML .
  7. Dans la zone de texte Nom , tapez App.config et puis cliquez sur Ajouter .

    note Dans Visual Studio .NET 2003, cliquez sur Ouvrir .
  8. Vous pouvez utiliser un fichier de configuration d'application pour collecter les paramètres d'application personnalisée que vous enregistrez au format clé/valeur. Vous pouvez inclure <add>éléments dans le <appsettings>section d'un fichier de configuration associé. Chaque paire clé/valeur possède un <add>élément. Un <add>élément a le format suivant :
    <add key="Key0" value="0" />
    ajouter un <appsettings>section avec <add>éléments pour le fichier de configuration entre le <configuration> and </configuration>balises.

    Par exemple, le fichier de configuration suivant inclut un <appsettings>section qui spécifie trois cléent/valeur paires :
    <?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>
    
  9. Dans l'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 s'afficher avant les autres états dans le fichier.
    using System.Configuration;
    using System.Collections.Specialized;
  10. Ajouter une référence à System.Configuration.dll. Pour ce faire, procédez comme suit :
    1. Dans le menu projet , cliquez sur Ajouter une référence .
    2. Dans la boîte de dialogue Ajouter une référence , cliquez sur l'onglet .NET .
    3. Recherchez et sélectionnez le nom du composant de System.Configuration.
    4. Cliquez sur OK .
  11. Pour conserver la valeur d'une clé de fichier de configuration dans le <appsettings>section du fichier de configuration, déclarez une variable chaîne dans la section principale comme suit :
     string  sAttr ;
  12. Pour extraire une valeur pour une clé spécifiée la <appsettings>section du fichier de configuration, utiliser la méthode Get de la propriété AppSettings de la classe ConfigurationManager . La classe ConfigurationManager est dans l'espace de noms System.Configuration . Lorsque la méthode AppSettings.Get reçoit un paramètre d'entrée chaîne qui contient une clé, l'application extrait la valeur qui est associée à la clé.

    Le code suivant extrait la valeur de l'attribut Key0 du fichier de configuration associé. Le code place ensuite cette valeur dans la variable de chaîne sAttr . Si une clé n'existe pas pour que cette valeur, rien n'est stocké dans sAttr .
    sAttr = ConfigurationManager.AppSettings.Get("Key0");
  13. Pour afficher la valeur de l'application copie dans la fenêtre de console, utilisez Console.WriteLine comme suit :
    Console.WriteLine("The value of Key0 is "+sAttr);
  14. Vous pouvez utiliser une référence à la propriété AppSettings pour récupérer toutes les paires clé/valeur dans le <appsettings>section. Lorsque vous utilisez la propriété AppSettings , l'application renvoie tous les associé paires clé/valeur. Ces paires sont stockés dans un type de collection NameValueCollection . La collection NameValueCollection contient des entrées clé/valeur pour chaque clé qui récupère l'application. La classe de collection NameValueCollection est dans l'espace de noms System.Collections.Specialized .
    NameValueCollection sAll ;
    sAll = ConfigurationManager.AppSettings;
  15. La propriété AllKeys de NameValueCollection fait référence à un tableau comportant une entrée pour chaque clé qui l'application extrait une chaîne. Utilisez une construction foreach pour itérer dans le tableau AllKeys pour accéder à chaque clé qui récupère l'application. Chaque entrée de clé de AllKeys est un type de données chaîne.

    Dans la construction foreach , utiliser Console.WriteLine pour afficher la clé et sa valeur associée dans la console de fenêtre. La clé actuelle qui traite de l'application est en « s ». Utiliser ce sous la forme un index dans la sAllNameValueCollection pour obtenir sa valeur associée.
       foreach (string s in sAll.AllKeys)
          Console.WriteLine("Key: "+ s + " Value: " + sAll.Get(s));
       Console.ReadLine();

Terminer la liste de 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();
       }
    }
}
note Ce code est cibler .NET Framework 2.0. Si vous utilisez le .NET Framework 1.0 ou .NET Framework 1.1, modifier toutes les instances de la classe ConfigurationManager à ConfigurationSettings .

Exécuter le fichier de configuration de liste (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'il fonctionne

Appuyez sur F5 pour exécuter le code. La fenêtre de console doit afficher les paires clé/valeur de la <appsettings>fichier de section de la configuration associée comme suit :
The value of Key0: 0
Key: Key0 Value:0
Key: Key1 Value:1
Key: Key2 Value:2
		
Clé de valeur: 1 clé : Key1 : Touche2 valeur: 2

Résoudre les problèmes

  • Le fichier de configuration est enregistré au format XML. Assurez-vous de suivre toutes les règles de syntaxe XML. N'oubliez pas que XML est la casse. Si le code XML n'est pas bien formé, ou si un élément est mal orthographié, vous recevez une exception System.Configuration.Configuration.

    Par exemple, si vous ajoutez l'attribut clé d'un <add>élément avec une majuscule « K » au lieu d'une MINUSCULE k, ou si le <appsettings>section s'affiche en tant que <appsettings>(par un majuscule « A » au lieu d'une 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 de fichier de configuration :
    ApplicationName.ApplicationType .config
    ApplicationName est le nom de l'application, ApplicationType est le type d'application (par exemple, .exe) et .config représente le suffixe requis.

Références

Pour plus d'informations, consultez le développeur de Microsoft suivant sites Web de Network (MSDN) :
ConfigurationSettings.AppSettings, propriété
http://msdn.microsoft.com/en-us/library/system.configuration.configurationsettings.appsettings(vs.71).aspx
Espace de noms System.Configuration
http://msdn.microsoft.com/en-us/library/system.configuration(vs.71).aspx

Propriétés

Numéro d'article: 815786 - Dernière mise à jour: mercredi 16 juillet 2008 - Version: 3.1
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Visual C# 2008 Express Edition
  • Microsoft Visual C# 2005 Express Edition
  • Microsoft Visual C# .NET 2003 Initiation
  • Microsoft Visual C# .NET 2002 Initiation
Mots-clés : 
kbmt kbsweptvs2008 kbcollections kbcollectionclass kbconfig kbnamespace kbhowtomaster kbprogramming KB815786 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 815786
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com