Freigeben über


Verwenden von Visual C# zum Speichern und Abrufen von benutzerdefinierten Informationen aus einer Anwendungskonfigurationsdatei

In diesem Artikel wird erläutert, wie Benutzerdefinierte Informationen aus einer Konfigurationsdatei gespeichert werden, die Sie später während der Laufzeit von der zugeordneten Anwendung abrufen können. Es ist hilfreich, wenn Sie Daten definieren müssen, die einer Anwendung zugeordnet sind.

Notiz

Der Code in diesem Artikel richtet sich an .NET Framework 2.0 und höhere Versionen. Informationen dazu, für welche spezifischen Versionen die ConfigurationManager Klasse gilt, finden Sie im Abschnitt "Gilt für ".

Originalproduktversion: Visual C#
Ursprüngliche KB-Nummer: 815786

Anforderungen

Die folgende Liste enthält die empfohlene Hardware und Software, die Sie benötigen:

  • Microsoft Windows
  • Visual C#

In diesem Artikel wird davon ausgegangen, dass Sie mit den folgenden Themen vertraut sind:

  • Extensible Markup Language (XML)
  • .NET-Konfigurationsdateien

Erstellen einer Konsolenanwendung, die eine Konfigurationsdatei liest

Sie können Anwendungseinstellungen in der Konfigurationsdatei speichern, die der Anwendung zugeordnet ist. Konfigurationsdateien werden im XML-Format gespeichert.

System.Collections.Specialized Die System.Configuration Namespaces in .NET Framework enthalten die erforderlichen Klassen zum Abrufen von Informationen aus einer .NET-Anwendungskonfigurationsdatei während der Laufzeit.

Führen Sie die folgenden Schritte aus, um eine Konsolenanwendung zu erstellen, die den Inhalt einer zugeordneten Konfigurationsdatei während der Laufzeit liest:

  1. Starten Sie Visual Studio .NET oder Visual Studio.

  2. Zeigen Sie im Menü Datei auf Neu, und klicken Sie dann auf Projekt.

  3. wählen Sie visual C# unter "Projekttypen" und dann unter "Vorlagen" die Konsolenanwendung aus. Nennen Sie das Projekt ConConfig. Standardmäßig erstellt Visual C# eine Klasse mit dem Namen "Program".

    Notiz

    Wählen Sie in Visual Studio .NET unter Projekttypen Visual C#-Projekte und dann unter "Vorlagen" die Konsolenanwendung aus. Nennen Sie das Projekt ConConfig. Standardmäßig erstellt Visual C# eine Klasse mit dem Namen "Class1".

  4. Stellen Sie sicher, dass das fenster Projektmappen-Explorer sichtbar ist. Wenn sie nicht sichtbar ist, drücken Sie die Tastenkombination STRG+ALT+L.

  5. Klicken Sie in Projektmappen-Explorer mit der rechten Maustaste auf den Projektnamen, wählen Sie "Hinzufügen" und dann "Neues Element" aus.

  6. Wählen Sie in der Liste "Neues Element hinzufügen" die XML-Datei aus.

  7. Geben Sie im Textfeld "Name" "App.config" ein, und wählen Sie dann "Hinzufügen" aus.

  8. Sie können eine Anwendungskonfigurationsdatei verwenden, um benutzerdefinierte Anwendungseinstellungen zu sammeln, die Sie im Schlüssel-/Wertformat speichern. Sie können Elemente im <appSettings> Abschnitt einer zugeordneten Konfigurationsdatei einschließen<add>. Jedes Schlüssel-Wert-Paar weist ein <add> Element auf. Ein <add> Element weist das folgende Format auf:

    <add key="Key0" value="0" />
    

    Fügen Sie der Konfigurationsdatei zwischen den <configuration> Tags </configuration> einen <appSettings> Abschnitt mit <add> Elementen hinzu.

    Die folgende Konfigurationsdatei enthält beispielsweise einen <appSettings> Abschnitt, der drei Schlüssel-Wert-Paare angibt:

    <?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. Doppelklicken Sie in Projektmappen-Explorer auf Program.cs, um das Codefenster anzuzeigen. Fügen Sie ihrem Codemodul die folgenden Anweisungen hinzu.

    Notiz

    Diese Anweisungen müssen vor anderen Anweisungen in der Datei angezeigt werden.

    using System.Configuration;
    using System.Collections.Specialized;
    
  10. Fügen Sie einen Verweis auf System.Configuration.dll hinzu, indem Sie die folgenden Schritte ausführen:

    1. Wählen Sie im Menü Projekt die Option Verweis hinzufügen aus.
    2. Wählen Sie im Dialogfeld "Verweis hinzufügen" die Registerkarte .NET aus.
    3. Suchen und wählen Sie den Komponentennamen von System.Configuration.
    4. klicken Sie auf OK.
  11. Um den Wert aus einem Konfigurationsdateischlüssel im <appSettings> Abschnitt der Konfigurationsdatei zu speichern, deklarieren Sie eine Zeichenfolgenvariable im Main Abschnitt wie folgt:

    string sAttr;
    
  12. Verwenden Sie die Get Methode der AppSettings Eigenschaft der ConfigurationManager-Klasse, um einen Wert für einen angegebenen Schlüssel aus dem <appSettings> Abschnitt der Konfigurationsdatei abzurufen. Die ConfigurationManager-Klasse befindet sich im System.Configuration-Namespace. Wenn die AppSettings.Get Methode einen Zeichenfolgeneingabeparameter empfängt, der einen Schlüssel enthält, ruft die Anwendung den Wert ab, der dem Schlüssel zugeordnet ist.

    Der folgende Code ruft den Wert für das Key0 Attribut aus der zugeordneten Konfigurationsdatei ab. Der Code platziert diesen Wert dann in der sAttr Zeichenfolgenvariable. Wenn für diesen Wert kein Schlüssel vorhanden ist, wird nichts gespeichert.sAttr

    sAttr = ConfigurationManager.AppSettings.Get("Key0");
    
  13. Um den Wert anzuzeigen, den die Anwendung im Konsolenfenster abruft, verwenden Sie Console.WriteLine folgendes:

    Console.WriteLine("The value of Key0 is "+sAttr);
    
  14. Sie können einen Verweis auf die AppSettings Eigenschaft verwenden, um alle Schlüssel-Wert-Paare im <appSettings> Abschnitt abzurufen. Wenn Sie die AppSettings Eigenschaft verwenden, gibt die Anwendung alle zugeordneten Schlüssel-Wert-Paare zurück. Diese Paare werden in einem NameValueCollection Typ gespeichert. Die NameValueCollection enthält Schlüssel-/Werteinträge für jeden Schlüssel, den die Anwendung abruft. Die NameValueCollection-Klasse befindet sich im System.Collections.Specialized-Namespace.

    NameValueCollection sAll ;
    sAll = ConfigurationManager.AppSettings;
    
  15. Die AllKeys Eigenschaft eines NameValueCollection Verweises auf ein Zeichenfolgenarray mit einem Eintrag für jeden Schlüssel, den die Anwendung abruft. Verwenden Sie eine Foreach-Konstruktion, um das AllKeys Array zu durchlaufen, um auf jeden von der Anwendung abgerufenen Schlüssel zuzugreifen. Jeder Schlüsseleintrag in AllKeys ist ein Zeichenfolgendatentyp.

    Verwenden Sie Console.WriteLine in der foreach Konstruktion, um den Schlüssel und den zugehörigen Wert im Konsolenfenster anzuzeigen. Der aktuelle Schlüssel, in dem sich die Anwendungsprozesse befindet s. Verwenden Sie ihn als Index im sAllNameValueCollection zugehörigen Wert.

     foreach (string s in sAll.AllKeys)
         Console.WriteLine("Key: "+ s + " Value: " + sAll.Get(s));
    
     Console.ReadLine();
    

Vollständige Codeliste

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();
        }
    }
}

Vollständige Konfigurationsdateiauflistung (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>

Überprüfen, ob sie funktioniert

Drücken Sie F5, um den Code auszuführen. Im Konsolenfenster sollten die Schlüssel-Wert-Paare aus dem <appSettings> Abschnitt der zugehörigen Konfigurationsdatei wie folgt angezeigt werden:

The value of Key0: 0
Key: Key0 Value:0
Key: Key1 Value:1
Key: Key2 Value:2

Problembehandlung

  • Die Konfigurationsdatei wird im XML-Format gespeichert. Stellen Sie sicher, dass Sie alle XML-Syntaxregeln einhalten. Beachten Sie, dass bei XML die Groß-/Kleinschreibung beachtet wird. Wenn der XML-Code nicht gut gebildet ist oder ein Element falsch geschrieben ist, wird eine System.Configuration.Configuration Ausnahme angezeigt.

    Wenn Sie z. B. das Schlüsselattribute eines <add> Elements mit einem Großbuchstaben K anstelle eines Kleinbuchstabens hinzufügen oder wenn der <appSettings> Abschnitt angezeigt wird <AppSettings> (mit einem Großbuchstabe A anstelle eines Kleinbuchstabes a), wird eine Fehlermeldung angezeigt.

  • Die Konfigurationsdatei muss im selben Ordner wie die zugehörige Anwendung gespeichert werden.

  • Sie müssen die folgende Syntax für den Konfigurationsdateinamen verwenden:
    <ApplicationName>.<ApplicationType.config>

    Dabei <ist ApplicationName> der Name der Anwendung. <ApplicationType> ist der Anwendungstyp, z .exe. B. . Und .config ist das erforderliche Suffix.

References