Gewusst wie: Speichern und Abrufen von benutzerdefinierten Informationen aus einer Anwendungskonfigurationsdatei mit Visual C#

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 815786 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Für eine Version dieses Microsoft Visual Basic .NET Artikel, finden Sie unter 313405.
Dieser Artikel bezieht sich auf der folgenden Microsoft.NET Framework Klassennamespace-Bibliothek:
  • System.Configuration
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Dieser Artikel beschreibt, wie zum Speichern benutzerdefinierter Informationen in einem Konfigurationsdatei (.config), die Sie später während der Laufzeit durch abrufen können seine zugeordnete Anwendung. Dies ist hilfreich, wenn Sie Daten definieren müssen eine Anwendung zugeordnet.

Anforderungen

Die folgende Liste führt die empfohlene Hardware, Software, Netzwerkinfrastruktur und Servicepacks, die Sie benötigen:
  • Microsoft Windows 2000, Windows XP, WindowsServer 2003, Windows Vista oder WindowsServer 2008
  • Microsoft Visual C#
In diesem Artikel wird davon ausgegangen, dass Sie mit den folgenden Punkten vertraut sind Themen:
  • Extensible Markup Language (XML)
  • .NET Konfigurationsdateien

Erstellen Sie eine Konsolenanwendung, die den Inhalt einer Konfigurationsdatei liest

Sie können die store-Anwendung, die Einstellungen in der Konfiguration der Datei die Anwendung zugeordnet ist. Konfigurationsdateien sind in XML gespeichert. Format.

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

Eine Konsolenanwendung zu erstellen, die liest die Führen Sie die folgenden Inhalt einer verknüpften Konfigurationsdatei zur Laufzeit Schritte:
  1. Starten Sie Visual Studio .NET oder Visual Studio 2005.
  2. Auf der Datei Menü, zeigen Sie aufNeue, und klicken Sie dann auf Projekt.
  3. Klicken Sie auf Visual C# Klicken Sie unterProjekttypen, und klicken Sie dann auf Konsole Anwendung Klicken Sie unter Vorlagen. Nennen Sie das Projekt "ConConfig". Standardmäßig erstellt Visual C# eine Klasse mit dem Programm Namen.

    Hinweis Klicken Sie in Visual Studio .NET 2003 Visual C#-Projekte Klicken Sie unterProjekttypen, und klicken Sie dann auf Konsole Anwendung Klicken Sie unter Vorlagen. Nennen Sie das Projekt"ConConfig". Standardmäßig erstellt Visual C# eine Klasse mit der Bezeichnung Class1.
  4. Stellen Sie sicher, dass das Projektmappen-Explorer-Fenster sichtbar ist. If Es ist nicht sichtbar, drücken Sie die Tastenkombination STRG + ALT + L.
  5. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste des Projektnamen, klicken Sie auf Hinzufügen, und klicken Sie dann auf Neues Element.
  6. In der Neues Element hinzufügen Liste, klicken Sie auf auswählenXML-Datei.
  7. In der Name Geben Sie im Textfeld"App.config", und klicken Sie dann aufHinzufügen.

    Hinweis Klicken Sie in Visual Studio .NET 2003 Öffnen.
  8. Sie können eine Anwendungskonfigurationsdatei verwenden, sammeln benutzerdefinierte Anwendungseinstellungen, die Sie in Schlüssel/Wert-Format speichern. Sie zählen <add></add> Elemente in der <appSettings></appSettings> Abschnitt von einer verknüpften Konfigurationsdatei. Jedes Schlüssel/Wert-Paar hat eine <add></add> Element. Ein <add></add> Element hat Folgendes Format:
    <add key="Key0" value="0" />
    Fügen Sie ein <appSettings></appSettings> mit section <add></add> Elemente in der Konfigurationsdatei zwischen den<configuration></configuration> und Tags.

    Z. B. die folgende Konfigurationsdatei enthält ein <appSettings></appSettings> Abschnitt, der angibt, drei Schlüssel/Wert-Paare:
    <?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 im Projektmappen-Explorer"Program.cs" um das Codefenster anzuzeigen. Fügen Sie Folgendes ein Anweisungen zum Modul.

    Hinweis Diese-Anweisungen müssen vor allen anderen Anweisungen in der Datei.
    using System.Configuration;
    using System.Collections.Specialized;
  10. Fügen Sie einen Verweis auf System.Configuration.dll. Gehen Sie hierzu folgendermaßen vor:
    1. Auf der Projekt Menü, klicken Sie auf Verweis hinzufügen.
    2. In der Verweis hinzufügen Dialogfeld auf der .NET Registerkarte.
    3. Suchen Sie und wählen Sie die Komponente Namen System.Configuration.
    4. Klicken Sie auf OK.
  11. Halten Sie den Wert aus einer Datei Konfigurationsschlüssel in der<appSettings></appSettings> Abschnitt der Konfigurationsdatei deklarieren eine Zeichenfolgenvariable in Main Abschnitt wie folgt:
     string  sAttr ;
  12. Zum Abrufen eines Werts für einen angegebenen Schlüssel aus der <appSettings></appSettings> Abschnitt der Konfigurationsdatei, verwenden Sie die Get -Methode der Eigenschaft AppSettingsConfigurationManager -Klasse. Die ConfigurationManager -Klasse ist in den System.Configuration -Namespace. Wenn die AppSettings.Get -Methode einen Zeichenfolgen-Eingabeparameter erhält, die einen Schlüssel enthält die Anwendung ruft den Wert, der dem Schlüssel zugeordnet ist.

    Die folgender Code Ruft den Wert für das Attribut Key0 aus der zugehörigen Konfigurationsdatei. Klicken Sie dann den code Schreibt diesen Wert in der Zeichenfolgevariablen sAttr . Wenn ein Schlüssel für diesen Wert nicht vorhanden ist nichts wird in sAttrgespeichert.
    sAttr = ConfigurationManager.AppSettings.Get("Key0");
  13. Den Wert angezeigt, die in die Anwendung ruft die Konsolen Sie-Fenster, verwenden Sie Console.WriteLine wie folgt:
    Console.WriteLine("The value of Key0 is "+sAttr);
  14. Sie können einen Verweis auf die Eigenschaft AppSettings abzurufenden alle Schlüssel/Wert-Paare in der<appSettings></appSettings> Abschnitt. Wenn Sie die Eigenschaft AppSettings verwenden, gibt die Anwendung alle verknüpften Schlüssel/Wert-Paare zurück. Diese Paare werden in einem Typ NameValueCollection gespeichert. NameValueCollection Schlüssel/Wert-Einträge für jede Taste handelt, enthält die Anwendung abruft. Die NameValueCollection -Klasse ist in der System.Collections.Specialized -Namespace.
    NameValueCollection sAll ;
    sAll = ConfigurationManager.AppSettings;
  15. Die AllKeys -Eigenschaft NameValueCollection verweist ein Zeichenfolgenarray, das einen Eintrag für jede Taste handelt, hat die Anwendung abruft. Verwenden Sie eine Foreach -Konstruktion um zu durchlaufen und die AllKeys Array auf jeden Schlüssel zuzugreifen, die die Anwendung ruft. Jeder Schlüssel Eintrag in AllKeys ist ein String-Datentyp.

    Verwenden Sie in der Konstruktion ForeachConsole.WriteLine , um den Schlüssel und den zugehörigen Wert in der Konsole anzuzeigen Fenster. Der aktuelle Schlüssel, den die Anwendung verarbeitet wird in "s". Verwenden Sie diese als ein Index in die sAllNameValueCollection zu den zugehörigen Wert abzurufen.
       foreach (string s in sAll.AllKeys)
          Console.WriteLine("Key: "+ s + " Value: " + sAll.Get(s));
       Console.ReadLine();

Vollständige Codeauflistung

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();
       }
    }
}
Hinweis Dieser Code ist der.NET Framework 2.0 abzielt. Wenn Sie die.NET Framework 1.0 oder die.NET Framework 1.1 verwenden, ändern Sie alle Instanzen der Klasse ConfigurationManager in ConfigurationSettings.

Komplette Konfigurationsdatei-Auflistung (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>

Stellen Sie sicher, dass es funktioniert

Drücken Sie F5, um den Code auszuführen. Das Konsolenfenster sollte angezeigt werden die Schlüssel/Wert-Paare aus dem <appSettings></appSettings> Teil der zugehörigen Konfigurationsdatei wie folgt:
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 folgen. Denken Sie daran, dass XML Groß-/Kleinschreibung beachtet wird. If die XML-Daten ist nicht wohlgeformt, oder wenn ein Element falsch geschrieben wurde, erhalten Sie eine Ausnahme "System.Configuration.Configuration".

    Wenn Sie hinzufügen, z. B. das Schlüsselattribut der ein <add></add> -Element mit einem großen "K" anstelle eines kleinen "k", oder, wenn die <appSettings></appSettings> Abschnitt angezeigt wird, als <AppSettings></AppSettings> (mit einem großen "A" anstelle eines kleinen "a"), erhalten Sie eine Fehlermeldung angezeigt.
  • Die Konfigurationsdatei muss im selben Ordner als gespeichert werden die zugehörige Anwendung.
  • Sie müssen die folgende Syntax für die Konfiguration verwenden. Dateiname:
    ApplicationName.Anwendungstypconfig
    wo ApplicationName der Name des die Anwendung Anwendungstyp ist der Typ des Anwendung (z. B. .exe), und .config ist das erforderliche Suffix.

Informationsquellen

Weitere Informationen finden Sie in der folgenden Microsoft Developer Network (MSDN)-Websites:
ConfigurationSettings.AppSettings-Eigenschaft
http://msdn.Microsoft.com/en-us/library/System.Configuration.ConfigurationSettings.AppSettings (werden) .aspx
System.Configuration Namespace
http://msdn.Microsoft.com/en-us/library/System.Configuration (werden) .aspx

Eigenschaften

Artikel-ID: 815786 - Geändert am: Sonntag, 23. Dezember 2012 - Version: 5.0
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Visual C# 2008 Express Edition
  • Microsoft Visual C# 2005 Express Edition
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
Keywords: 
kbsweptvs2008 kbcollections kbcollectionclass kbconfig kbnamespace kbhowtomaster kbprogramming kbmt KB815786 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 815786
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

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