Schemat Ustawienia aplikacji

Ustawienia aplikacji umożliwiają aplikacji Windows Forms lub ASP.NET przechowywanie i pobieranie ustawień o zakresie aplikacji i zakresu użytkownika. W tym kontekście ustawienie jest dowolnym elementem informacji, które mogą być specyficzne dla aplikacji lub specyficzne dla bieżącego użytkownika — wszystkie elementy z bazy danych parametry połączenia do preferowanego domyślnego rozmiaru okna użytkownika.

Domyślnie ustawienia aplikacji w aplikacji Windows Forms używają LocalFileSettingsProvider klasy , która używa systemu konfiguracji .NET do przechowywania ustawień w pliku konfiguracji XML. Aby uzyskać więcej informacji na temat plików używanych przez ustawienia aplikacji, zobacz Application Ustawienia Architecture (Architektura aplikacji Ustawienia).

Ważne

Większość sekcji konfiguracji zdefiniowanych przez program .NET Framework nie działa już w wersjach .NET 6+ i .NET Core. ConfigurationManager jest zapewniana tylko pod kątem zgodności. Zamiast app.config, nowoczesna platforma .NET używa pliku appsettings.json dla ustawień aplikacji. Zobacz Modernizuj po uaktualnieniu do platformy .NET z programu .NET Framework.

Rozważ usunięcie użycia w pliku app.config i wywołanie odpowiedniego interfejsu API, jeśli jest dostępne, aby ustawić to samo ustawienie. Aby uzyskać więcej informacji, zobacz Konfiguracja na platformie .NET.

Ustawienia aplikacji definiują następujące elementy w ramach używanych plików konfiguracji.

Element opis
<aplikacja Ustawienia> Zawiera wszystkie <tagi ustawień> specyficzne dla aplikacji.
<użytkownik Ustawienia> Zawiera wszystkie <tagi ustawień> specyficzne dla bieżącego użytkownika.
<Ustawienie> Definiuje ustawienie. Element podrzędny <aplikacji Ustawienia> lub <użytkownika Ustawienia>.
<wartość> Definiuje wartość ustawienia. Element podrzędny <ustawienia>.

<application Ustawienia>, element

Ten element zawiera wszystkie <tagi ustawień> specyficzne dla wystąpienia aplikacji na komputerze klienckim. Nie definiuje żadnych atrybutów.

<user Ustawienia>, element

Ten element zawiera wszystkie <tagi ustawień> specyficzne dla użytkownika, który obecnie korzysta z aplikacji. Nie definiuje żadnych atrybutów.

<setting> , element

Ten element definiuje ustawienie. Ma następujące atrybuty.

Atrybut Opis
name Wymagany. Unikatowy identyfikator ustawienia. Ustawienia utworzone za pomocą programu Visual Studio są zapisywane przy użyciu nazwy ProjectName.Properties.Settings.
serializowanie As Wymagane. Format używany do serializacji wartości do tekstu. Prawidłowe wartości:

- string. Wartość jest serializowana jako ciąg przy użyciu .TypeConverter
- xml. Wartość jest serializowana przy użyciu serializacji XML.
- binary. Wartość jest serializowana jako kodowana tekstowo binarna przy użyciu serializacji binarnej.
- custom. Dostawca ustawień ma nieodłączną wiedzę na temat tego ustawienia i serializuje je i cofa jego serializację.

Dodaj nazwy ustawień tworzonych w aplikacji Ustawienia> jako wpisy w< elemecie configSections> w górnej części pliku.< Przykład:

<configuration>
    <configSections>
        <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
            <section name="WindowsFormsApp1.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
            <section name="WindowsFormsApp1.Properties.MyCustomSettings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
        </sectionGroup>
    </configSections>
    ...
</configuration>

<value> , element

Ten element zawiera wartość ustawienia.

Przykład

W poniższym przykładzie przedstawiono plik ustawień aplikacji, który definiuje dwa ustawienia o zakresie aplikacji i dwa ustawienia o zakresie użytkownika:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
      <section name="WindowsApplication1.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
    </sectionGroup>
    <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
      <section name="WindowsApplication1.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" />
    </sectionGroup>
  </configSections>
  <applicationSettings>
    <WindowsApplication1.Properties.Settings>
      <setting name="Cursor" serializeAs="String">
        <value>Default</value>
      </setting>
      <setting name="DoubleBuffering" serializeAs="String">
        <value>False</value>
      </setting>
    </WindowsApplication1.Properties.Settings>
  </applicationSettings>
  <userSettings>
    <WindowsApplication1.Properties.Settings>
      <setting name="FormTitle" serializeAs="String">
        <value>Form1</value>
      </setting>
      <setting name="FormSize" serializeAs="String">
        <value>595, 536</value>
      </setting>
    </WindowsApplication1.Properties.Settings>
  </userSettings>
</configuration>

Zobacz też