Jesteś obecnie w trybie offline. Czekamy na ponowne połączenie z Internetem.

Twoja przeglądarka nie jest obsługiwana

Aby używać tej witryny, musisz zaktualizować przeglądarkę.

Zaktualizuj przeglądarkę do najnowszej wersji programu Internet Explorer

JAK: Przechowywanie informacji niestandardowych w pliku konfiguracji aplikacji i pobieranie ich z niego za pomocą programu Visual Basic .NET

Ten artykuł został opublikowany wcześniej pod numerem PL313405
Streszczenie
W tym artykule pokazano, jak przechowywać w pliku konfiguracji (.config) informacje niestandardowe, które później można pobrać w czasie wykonania za pomocą skojarzonej z tym plikiem aplikacji. Jest to przydatne, kiedy trzeba określić dane, które są skojarzone z aplikacją.

Wymagania

Oto lista wymaganych elementów, takich jak sprzęt, oprogramowanie, infrastruktura sieci i dodatki Service Pack:
  • System Microsoft Windows 2000 lub Microsoft Windows XP:
  • Program Microsoft Visual Studio .NET
W artykule założono, że czytelnik zna następujące tematy:
  • Język Extensible Markup Language (XML)
  • Pliki konfiguracji .NET

Tworzenie aplikacji konsoli, która odczytuje zawartość pliku konfiguracji

Ustawienia aplikacji można przechowywać w pliku konfiguracji, który jest skojarzony z aplikacją. Pliki konfiguracji są zapisywane w formacie XML. Obszary nazwSystem.ConfigurationiSystem.Collections.Specializedw architekturze Microsoft .NET Framework obejmują niezbędne klasy umożliwiające pobieranie informacji z pliku konfiguracji aplikacji .NET w czasie wykonania.

Aby utworzyć aplikację konsoli, która odczytuje zawartość skojarzonego z nią pliku konfiguracji w czasie wykonania, wykonaj następujące kroki:
  1. Otwórz program Visual Studio .NET.
  2. W programie Visual Basic .NET utwórz nowy projekt aplikacji konsoli o nazwie ConConfig. Program Visual Basic .NET domyślnie tworzy moduł o nazwie Module1.
  3. Upewnij się, że okno Solution Explorer jest widoczne. Jeśli nie jest, naciśnij klawisze CTRL+ALT+L.
  4. W oknie Solution Explorer kliknij przyciskShow All Files.
  5. Kliknij prawym przyciskiem myszy folder Bin, a następnie kliknij polecenieInclude in Project.
  6. Kliknij prawym przyciskiem myszy folderBin, wskaż polecenieAdd, a następnie kliknij polecenieAdd New Item.
  7. W oknie dialogowymAdd New Itemzaznacz szablonApplication Configuration File, kliknij przyciskOpen, a następnie dodaj do projektu plik App.config.

    UWAGA: Pliki konfiguracji aplikacji muszą znajdować się w tym samym folderze, co plik wykonywalny, z którym są skojarzone. Ponieważ program Visual Studio .NET umieszcza pliki wykonywalne w folderze Bin, plik konfiguracji również trzeba umieścić w folderze Bin.
  8. Plikowi konfiguracji aplikacji trzeba nadać nazwę w następującym formacie:
    NazwaAplikacji.TypAplikacji.config
    W oknie Solution Explorer kliknij prawym przyciskiem myszy plikApp.config, a następnie kliknij polecenieRename. Zmień nazwę pliku App.config naConConfig.exe.config. Skojarzona z tym plikiem .config aplikacja będzie go mogła teraz odnaleźć.
  9. Pliku konfiguracji aplikacji można użyć do zebrania niestandardowych ustawień aplikacji, które zapisano w formacie klucz/wartość. W sekcji<appSettings>skojarzonego pliku konfiguracji można dodawać elementy<add>. Każda para klucz/wartość ma jeden element<add>. Element<add>ma następujący format:
    <add key="Klucz" value="Wartość" />
    Dodaj sekcję<appSettings>z elementami<add>do pliku konfiguracji między tagami <configuration> i </configuration>. Na przykład następujący plik konfiguracji obejmuje sekcję<appSettings>, która określa trzy pary klucz/wartość:
    <?xml version="1.0" encoding="utf-8" ?><configuration>	<appSettings>		<add key="Klucz0" value="0" />		<add key="Klucz1" value="1" />		<add key="Klucz2" value="2" />	</appSettings></configuration>
  10. W oknie Solution Explorer kliknij dwukrotnie plikModule1.vb, aby wyświetlić moduł Module1 w oknie kodu. Dodaj do modułu następujące instrukcje:

    UWAGA: Te instrukcje muszą pojawiać się przed wszelkimi innymi instrukcjami w pliku.
    Imports System.ConfigurationImports System.Collections.Specialized
  11. W procedurzeSub Mainzadeklaruj zmienną typu ciąg znaków do przechowywania wartości klucza pliku konfiguracji z sekcji<appSettings>pliku konfiguracji:
    Dim sAttr As String
  12. Aby pobrać wartość określonego klucza z sekcji<appSettings>pliku konfiguracji, użyj metodyAppSettingsklasyConfigurationSettings. KlasaConfigurationSettingsnależy do obszaru nazwSystem.Configuration. Gdy metodaAppSettingspobierze wejściowy parametr typu ciąg znaków, który zawiera klucz, aplikacja pobiera wartość skojarzoną z tym kluczem.

    Następujący kod pobiera wartość atrybutuKlucz0ze skojarzonego pliku konfiguracji. Następnie wartość ta zostaje umieszczona w zmiennej typu ciąg znaków,sAttr. Jeśli nie istnieje klucz dla danej wartości, w zmiennejsAttrjest przechowywana wartośćNothing.
    sAttr = ConfigurationSettings. AppSettings("Klucz0")
  13. Aby wartość pobraną przez aplikację wyświetlić w oknie Console, użyj metodyConsole.WriteLine:
    Console.WriteLine("Wartość klucza Klucz0: " & sAttr)
  14. Wystarczy użyć jednego odwołania do właściwościAppSettings, aby pobrać wszystkie pary klucz/wartość z sekcji<appSettings>. Jeśli używając właściwościAppSettings, nie określisz żadnych parametrów, aplikacja zwraca wszystkie skojarzone pary klucz/wartość. Te pary są przechowywane w zmiennej typuNameValueCollection, która zawiera wpisy klucz/wartość dla każdego klucza pobranego przez aplikację. KlasaNameValueCollectionnależy do obszaru nazwSystem.Collections.Specialized.
    Dim sAll As NameValueCollectionsAll = ConfigurationSettings.AppSettings()
  15. WłaściwośćAllKeysklasyNameValueCollectionodwołuje się do tablicy typu ciąg znaków, która zawiera wpis dla każdego klucza pobranego przez aplikację. Aby uzyskać dostęp do każdego z tych kluczy, użyj konstrukcji For Nextdo iterowania przez tablicęAllKeys. Typem danych każdego wpisu klucza w tablicyAllKeysjest ciąg znaków.
    Dim s As StringFor Each s In sAll.AllKeys
  16. Wewnątrz konstrukcjiFor Eachużyj metodyConsole.WriteLine, aby wyświetlić klucz i skojarzoną z nim wartość w oknie Console. Bieżący klucz, który przetwarza aplikacja, znajduje się w zmiennej „s”. Użyj jej jako indeksu w zmiennejNameValueCollectionsAll, aby uzyskać skojarzoną wartość.

    Jeśli na przykład aplikacja przetwarza kluczKlucz0, instrukcja sAll("Klucz0") pobiera skojarzoną wartość. InstrukcjaConsole.Readlinewstrzymuje konsolę. Aby zakończyć aplikację, można nacisnąć klawisz ENTER.
        Console.WriteLine("Klucz: " & s & " Wartość: " & sAll(s))NextConsole.Readline

Testowanie kodu

Naciśnij klawisz F5, aby uruchomić kod. W oknie Console powinny zostać wyświetlone pary klucz/wartość z sekcji <appSettings>skojarzonego pliku konfiguracji, jak następuje:
Wartość klucza Klucz0: 0Klucz: Klucz0 Wartość:0Klucz: Klucz1 Wartość:1Klucz: Klucz2 Wartość:2

Pełny kod

Imports System.ConfigurationImports System.Collections.SpecializedModule Module1    Sub Main()        Dim sAttr As String        sAttr = ConfigurationSettings.AppSettings("Klucz0")        Console.WriteLine("Wartość klucza Klucz0: " & sAttr)                Dim sAll As NameValueCollection        sAll = ConfigurationSettings.AppSettings()        Dim s As String        For Each s In sAll.AllKeys            Console.WriteLine("Klucz: " & s & " Wartość: " & sAll(s))        Next		  Console.ReadLine()    End SubEnd Module

Pełny plik konfiguracji (ConConfig.exe.config)

<configuration>	<appSettings>		<add key="Klucz0" value="0"/>		<add key="Klucz1" value="1"/>		<add key="Klucz2" value="2"/>	</appSettings></configuration>

Rozwiązywanie problemów

  • Plik konfiguracji jest zapisywany w formacie XML. Upewnij się, czy przestrzegasz wszystkich reguł składni języka XML. Pamiętaj, że w języku XML jest rozróżniana wielkość liter. Jeśli forma kodu XML będzie nieodpowiednia lub jeśli jakikolwiek element będzie błędnie napisany, pojawi się wyjątek System.Configuration.Configuration.

    Jeśli na przykład doda się atrybut key elementu<add>napisany wielką literą „K” zamiast małą „k” lub nazwę sekcji<appSettings>zapisze się jako<AppSettings>(z wielką literą „A” zamiast z małą „a”), pojawi się komunikat o błędzie.
  • Plik konfiguracji musi znajdować się w tym samym folderze, co skojarzona z nim aplikacja.
  • Należy użyć następującej składni nazwy pliku konfiguracji:
    NazwaAplikacji.TypAplikacji.config
    gdzieNazwaAplikacjijest nazwą aplikacji,TypAplikacjijest typem aplikacji (na przykład .exe), a .config jest wymaganym sufiksem.
Właściwości

Identyfikator artykułu: 313405 — ostatni przegląd: 02/24/2002 20:24:00 — zmiana: 1.0

  • Microsoft Visual Basic .NET 2002 Standard Edition
  • kbhowto kbhowtomaster KB313405
Opinia
.microsoft.com/c.gif?DI=4050&did=1&t=">ext/javascript"> Asimov.clickstreamTracker.init(); >cript type="text/javascript" src="https://c.microsoft.com/ms.js">