Sie sind zurzeit offline. Es wird auf die erneute Herstellung einer Internetverbindung gewartet.

Ihr Browser wird nicht unterstützt.

Sie müssen Ihren Browser aktualisieren, um die Website zu verwenden.

Aktualisieren Sie auf die neueste Version von Internet Explorer.

SO WIRD'S GEMACHT: Speichern und Abrufen von benutzerdefinierten Informationen aus einer Anwendungskonfigurationsdatei mittels Visual Basic .NET

Dieser Artikel wurde zuvor veröffentlicht unter D313405
Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base:
313405 HOW TO: Store and Retrieve Custom Information from an Application Configuration File by Using Visual Basic .NET
Eine Microsoft Visual C# .NET Version dieses Artikels finden Sie unter 815786.
Zusammenfassung
Dieser Artikel beschreibt, wie Sie benutzerdefinierte Informationen in einer Konfigurationsdatei (.config) speichern, die Sie später zur Laufzeit über die zugehörige Anwendung abrufen können. Das ist nützlich, wenn Sie Daten definieren müssen, die mit einer Anwendung verknüpft sind.

Zurück zum Anfang

Voraussetzungen

In der folgenden Liste sind die empfohlene Hardware, Software, Netzwerkinfrastruktur und die erforderlichen Service Packs aufgeführt:
  • Microsoft Windows 2000 oder Microsoft Windows XP
  • Microsoft Visual Studio .NET
Dieser Artikel setzt voraus, dass Sie mit folgenden Themen vertraut sind:
  • Extensible Markup Language (XML)
  • .NET-Konfigurationsdateien
Hinweis: Die Verwendung der hier aufgeführten Informationen sowie Makro- oder Programmcodes geschieht auf Ihre eigene Verantwortung. Microsoft stellt Ihnen diese Informationen sowie Makro- und Programmlistings ohne Gewähr auf Richtigkeit, Vollständigkeit und/oder Funktionalität sowie ohne Anspruch auf Support zur Verfügung. Die zur Verfügung gestellten Makro- und Programmierungsbeispiele sollen lediglich exemplarisch die Funktionsweise des Beispiels aufzeigen.

Weitere Informationen zu den von Microsoft angebotenen Supportoptionen finden Sie unter folgender Internetadresse: Zurück zum Anfang

Erstellen einer Konsolenanwendung, die den Inhalt der Konfigurationsdatei liest

Sie können Anwendungseinstellungen in der Konfigurationsdatei speichern, die mit der Anwendung verknüpft ist. Konfigurationsdateien werden im XML-Format gespeichert. Die Namespaces System.Configuration und System.Collections.Specialized im Microsoft .NET Framework enthalten die erforderlichen Klassen zum Abrufen von Informationen aus einer .NET-Anwendungskonfigurationsdatei zur Laufzeit.

So erstellen Sie eine Konsolenanwendung, die den Inhalt einer verknüpften Konfigurationsdatei zur Laufzeit liest:
  1. Starten Sie Visual Studio .NET.
  2. Erstellen Sie ein neues Konsolenanwendungsprojekt namens "ConConfig" in Visual Basic .NET. Visual Basic .NET erstellt standardmäßig ein Modul namens "Module1".
  3. Achten Sie darauf, dass das Projektmappen-Explorer-Fenster angezeigt wird. Wenn das nicht der Fall ist, drücken Sie die Tastenkombination [STRG]+[ALT]+[L].
  4. Klicken Sie im Projektmappen-Explorer auf Alle Dateien anzeigen.
  5. Klicken Sie mit der rechten Maustaste auf Bin. Klicken Sie dann auf Zu Projekt hinzufügen.
  6. Klicken Sie mit der rechten Maustaste auf den Ordner Bin, zeigen Sie auf Hinzufügen und klicken Sie dann auf Neues Element hinzufügen.
  7. Wählen Sie im Dialogfeld Neues Element hinzufügen die Vorlage Anwendungskonfigurationsdatei, klicken Sie auf Öffnen und fügen Sie die Datei "App.config" zum Projekt hinzu.

    Hinweis: Anwendungskonfigurationsdateien müssen im selben Ordner liegen wie die ausführbare Datei, mit der sie verknüpft sind. Da Visual Studio .NET ausführbare Dateien in den Ordner "Bin" stellt, müssen Sie auch die Konfigurationsdatei in diesen Ordner stellen.
  8. Der Name der Anwendungskonfigurationsdatei muss folgendes Format haben:
    Anwendungsname .Anwendungstyp .config
    Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf App.config. Klicken Sie dann auf Umbenennen. Benennen Sie die Datei "App.config" um in ConConfig.exe.config. Die zugehörige Anwendung kann diese .config-Datei jetzt finden.
  9. In einer Anwendungskonfigurationsdatei können Sie benutzerdefinierte Anwendungseinstellungen zusammenstellen, die Sie im Format "Schlüssel/Wert" speichern. Sie können <add>-Elemente in den Abschnitt <appSettings> einer verknüpften Konfigurationsdatei aufnehmen. Jedes Schlüssel/Wert-Paar hat ein <add>-Element. Ein <add>-Element hat folgendes Format:
    <add key="theKey" value="theValue" />
    Fügen Sie zwischen den Tags <configuration> und </configuration> einen Abschnitt <appSettings> mit <add>-Elementen zur Konfigurationsdatei hinzu. Die folgende Konfigurationsdatei enthält z.B. einen Abschnitt <appSettings>, der drei Schlüssel/Wert-Paare spezifiziert:
    <?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>
  10. Doppelklicken Sie im Projektmappen-Explorer auf Module1.vb, um das Codefenster für Module1 anzuzeigen. Fügen Sie folgende Anweisungen zum Modul hinzu:

    Hinweis: Diese Anweisungen müssen vor allen anderen Anweisungen in der Datei erscheinen.
    Imports System.ConfigurationImports System.Collections.Specialized
  11. Dimensionieren Sie in der Prozedur Sub Main eine Zeichenvariable für den Wert aus einem Konfigurationsdateischlüssel im Abschnitt <appSettings> der Konfigurationsdatei:
    Dim sAttr As String
  12. Verwenden Sie die Methode AppSettings der Klasse ConfigurationSettings, um einen Wert für einen vorgegebenen Schlüssel aus dem Abschnitt <appSettings> der Konfigurationsdatei abzurufen. Die Klasse ConfigurationSettings liegt im Namespace System.Configuration. Wenn die Methode AppSettings einen Zeichenfolgen-Eingabeparameter erhält, der einen Schlüssel enthält, ruft die Anwendung den mit dem Schlüssel verknüpften Wert ab.

    Der folgende Code ruft den Wert für das Attribut Key0 aus der zugehörigen Konfigurationsdatei ab. Der Code stellt diesen Wert dann in die Zeichenfolgenvariable sAttr. Wenn kein Schlüssel für diesen Wert existiert, wird Nothing in sAttr gespeichert.
    sAttr = ConfigurationSettings. AppSettings("Key0")
  13. Verwenden Sie Console.WriteLine, um den von der Anwendung abgerufenen Wert im Konsolenfenster anzuzeigen:
    Console.WriteLine("The value of Key0: " & sAttr)
  14. Sie können einen Verweis auf die Eigenschaft AppSettings verwenden, um alle Schlüssel/Wert-Paare im Abschnitt <appSettings> abzurufen. Wenn Sie bei Verwendung der Eigenschaft AppSettings keine Parameter angeben, gibt die Anwendung alle verknüpften Schlüssel/Wert-Paare zurück. Diese Paare werden in einem Typ NameValueCollection gespeichert, der Schlüssel/Wert-Einträge für jeden von der Anwendung abgerufenen Schlüssel enthält. Die Klasse NameValueCollection liegt im Namespace System.Collections.Specialized.
    Dim sAll As NameValueCollectionsAll = ConfigurationSettings.AppSettings()
  15. Die Eigenschaft AllKeys von NameValueCollection verweist auf ein Zeichenfolgen-Array, das einen Eintrag für jeden von der Anwendung abgerufenen Schlüssel hat. Verwenden Sie eine For Next-Konstruktion für die Iteration über das Array AllKeys, um auf jeden von der Anwendung abgerufenen Schlüssel zuzugreifen. Jeder Schlüsseleintrag in AllKeys ist ein Zeichenfolgen-Datentyp.
    Dim s As StringFor Each s In sAll.AllKeys
  16. Verwenden Sie innerhalb der For Each-Konstruktion Console.WriteLine, um den Schlüssel und den zugehörigen Wert im Konsolenfenster anzuzeigen. Der aktuelle Schlüssel, den die Anwendung bearbeitet, ist in "s." Verwenden Sie dies als Index in der sAll-NameValueCollection, um den zugehörigen Wert abzurufen.

    Wenn die Anwendung z.B. den Schlüssel Key0 verarbeitet, ruft sAll("Key0") den zugehörigen Wert ab. Die Anweisung Console.Readline hält die Konsole an. Durch Betätigung der EINGABETASTE können Sie die Anwendung beenden.
        Console.WriteLine("Key: " & s & " Value: " & sAll(s))NextConsole.Readline
Zurück zum Anfang

Überprüfen der Funktionsfähigkeit

Drücken Sie F5, um den Code auszuführen. Das Konsolenfenster sollte die Schlüssel/Wert-Paare aus dem Abschnitt <appSettings> der zugehörigen Konfigurationsdatei folgendermaßen anzeigen:
The value of Key0: 0Key: Key0 Value:0Key: Key1 Value:1Key: Key2 Value:2
Zurück zum Anfang

Vollständiges Codelisting

Imports System.ConfigurationImports System.Collections.SpecializedModule Module1    Sub Main()        Dim sAttr As String        sAttr = ConfigurationSettings.AppSettings("Key0")        Console.WriteLine("The value of Key0: " & sAttr)                Dim sAll As NameValueCollection        sAll = ConfigurationSettings.AppSettings()        Dim s As String        For Each s In sAll.AllKeys            Console.WriteLine("Key: " & s & " Value: " & sAll(s))        Next		  Console.ReadLine()    End SubEnd Module
Zurück zum Anfang

Konfigurationsdatei (ConConfig.exe.config)

<configuration>	<appSettings>		<add key="Key0" value="0"/>		<add key="Key1" value="1"/>		<add key="Key2" value="2"/>	</appSettings></configuration>
Zurück zum Anfang

Problembehandlung

  • Die Konfigurationsdatei wird im XML-Format gespeichert. Beachten Sie alle XML-Syntaxregeln. Denken Sie daran, dass bei XML die Groß-/Kleinschreibung zu berücksichtigen ist. Wenn die XML nicht richtig formatiert ist oder ein Element falsch geschrieben ist, erhalten Sie eine Ausnahme "System.Configuration.Configuration".

    Wenn Sie z.B. das Schlüsselattribut eines <add>-Elements mit einem großen "K" anstelle eines kleinen "k" schreiben oder der Abschnitt <appSettings> als <AppSettings> erscheint (mit einem großen "A" anstelle eines kleinen "a"), erhalten Sie eine Fehlermeldung.
  • Die Konfigurationsdatei muss im selben Ordner liegen wie die zugehörige Anwendung.
  • Der Name der Konfigurationsdatei muss folgender Syntax entsprechen:
    Anwendungsname .Anwendungstyp .config
    Dabei steht Anwendungsname für den Namen der Anwendung, Anwendungstyp für den Typ der Anwendung (z.B. exe), und .config ist das erforderliche Suffix.
Zurück zum Anfang
Bitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, dass nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung.
Eigenschaften

Artikelnummer: 313405 – Letzte Überarbeitung: 09/26/2003 11:05:00 – Revision: 1.0

  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • kbhowtomaster KB313405
Feedback