Schema für Anwendungseinstellungen

Anwendungseinstellungen ermöglichen es Windows Forms- oder ASP.NET-Anwendungen, Einstellungen im Gültigkeitsbereich der Anwendung und im Gültigkeitsbereich der Benutzer*innen zu speichern und abzurufen. In diesem Kontext ist eine Einstellung eine beliebige Information, die für die Anwendung oder für den aktuellen Benutzer bzw. die aktuelle Benutzerin spezifisch sein kann. Dies umfasst alles von einer Datenbankverbindungszeichenfolge bis hin zur bevorzugten Standardfenstergröße des Benutzers bzw. der Benutzerin.

Standardmäßig verwenden Anwendungseinstellungen in einer Windows Forms-Anwendung die LocalFileSettingsProvider-Klasse, die das .NET-Konfigurationssystem verwendet, um Einstellungen in einer XML-Konfigurationsdatei zu speichern. Weitere Informationen zu den von Anwendungseinstellungen verwendeten Dateien finden Sie unter Architektur der Anwendungseinstellungen.

Wichtig

Die meisten von .NET Framework definierten Konfigurationsabschnitte funktionieren in .NET 6+ und .NET Core-Versionen nicht mehr. ConfigurationManager wird nur aus Kompatibilitätsgründen bereitgestellt. Anstelle von app.config verwendet das moderne .NET die Datei appsettings.json für App-Einstellungen. Siehe Modernisieren nach dem Upgrade von .NET Framework auf .NET.

Erwägen Sie, die Verwendung in app.config zu entfernen und die entsprechende API aufzurufen, falls verfügbar, um dieselbe Einstellung zu erstellen. Weitere Informationen finden Sie unter Konfiguration in .NET.

Anwendungseinstellungen definieren die folgenden Elemente als Teil der verwendeten Konfigurationsdateien:

Element Beschreibung
<applicationSettings> Enthält alle für die Anwendung spezifischen <setting>-Tags.
<userSettings> Enthält alle für den aktuellen Benutzer bzw. die aktuelle Benutzerin spezifischen <setting>-Tags.
<setting> Definiert eine Einstellung. Untergeordnetes Element von <applicationSettings> oder <userSettings>
<value> Definiert den Wert einer Einstellung. Untergeordnetes Element von <setting>

<applicationSettings>-Element

Dieses Element enthält alle <setting>-Tags, die für eine Instanz der Anwendung auf einem Clientcomputer spezifisch sind. Es definiert keine Attribute.

<userSettings>-Element

Dieses Element enthält alle <setting>-Tags, die für den Benutzer bzw. die Benutzerin spezifisch sind, der bzw. die die Anwendung derzeit verwendet. Es definiert keine Attribute.

<setting>-Element

Dieses Element definiert eine Einstellung. Es weist die folgenden Attribute auf.

Attribut Beschreibung
name Erforderlich. Die eindeutige ID der Einstellung. Einstellungen, die über Visual Studio erstellt werden, werden mit dem Namen ProjectName.Properties.Settings gespeichert.
serializeAs Erforderlich. Das Format, das zum Serialisieren des Werts in Text verwendet werden soll. Gültige Werte sind:

- string. Der Wert wird mithilfe von TypeConverter als Zeichenfolge serialisiert.
- xml. Der Wert wird mithilfe der XML-Serialisierung serialisiert.
- binary. Der Wert wird mithilfe der binären Serialisierung als textcodierter Binärwert serialisiert.
- custom. Der Einstellungsanbieter verfügt über inhärente Kenntnisse dieser Einstellung und serialisiert und deserialisiert sie.

Fügen Sie die Namen für Einstellungen hinzu, die Sie in <applicationSettings> als Einträge unter dem <configSections>-Element oben in der Datei erstellen. Beispiel:

<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

Dieses Element enthält den Wert einer Einstellung.

Beispiel

Das folgende Beispiel zeigt eine Anwendungseinstellungsdatei, die zwei anwendungsspezifische Einstellungen und zwei benutzerspefizische Einstellungen definiert:

<?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>

Weitere Informationen