Freigeben über


Verwalten von Anwendungseinstellungen (.NET)

Mithilfe von Anwendungseinstellungen können Sie Anwendungsinformationen dynamisch speichern. Mit Anwendungseinstellungen können Sie einen Clientcomputer verwenden, um Informationen zu speichern, die nicht zur Laufzeit im Anwendungscode enthalten sein sollten. Anwendungseinstellungen können Verbindungszeichenfolgen, Benutzereinstellungen und vieles mehr umfassen.

Anmerkung

Anwendungseinstellungen ersetzen die dynamischen Eigenschaften, die in früheren Versionen von Visual Studio verwendet werden.

Jede Anwendungseinstellung muss einen eindeutigen Namen haben. Der Name kann eine beliebige Kombination aus Buchstaben, Zahlen oder einem Unterstrich sein. Der Name kann nicht mit einer Zahl beginnen und darf keine Leerzeichen enthalten. Der Name wird über die Name-Eigenschaft geändert.

Anwendungseinstellungen können als beliebiger Datentyp gespeichert werden, der in XML serialisiert ist oder über eine TypeConverter verfügt, die ToString/FromStringimplementiert. Die häufigsten Typen sind String, Integerund Boolean. Sie können Werte auch als Color, Objectoder als Verbindungszeichenfolge speichern.

Anwendungseinstellungen enthalten auch einen Wert. Der Wert wird mit der eigenschaft Value festgelegt und muss mit dem Datentyp der Einstellung übereinstimmen.

Darüber hinaus können Anwendungseinstellungen zur Entwurfszeit an eine Eigenschaft eines Formulars oder Steuerelements gebunden werden.

Es gibt zwei Arten von Anwendungseinstellungen, basierend auf dem Bereich:

  • Anwendungsweite Einstellungen können für Informationen wie die URL eines Webdiensts oder eine Datenbankverbindung verwendet werden. Diese Werte sind der Anwendung zugeordnet. Daher können Benutzer sie zur Laufzeit nicht ändern.

  • Benutzerbezogene Einstellungen können für Informationen verwendet werden, z. B. zum Beibehalten der letzten Position eines Formulars oder einer Schriftarteinstellung. Benutzer können diese Werte zur Laufzeit ändern.

Sie können den Typ einer Einstellung mithilfe der eigenschaft Scope ändern.

Das Projektsystem speichert Anwendungseinstellungen in zwei XML-Dateien:

  • Eine app.config-Datei, die zur Entwurfszeit bei der Erstellung der ersten Anwendungseinstellung erstellt wird

  • Eine user.config Datei, die zur Laufzeit erstellt wird, wenn der Benutzer, der die Anwendung ausführt, den Wert einer beliebigen Benutzereinstellung ändert.

Änderungen an den Benutzereinstellungen werden nicht auf den Datenträger geschrieben, es sei denn, die Anwendung ruft dazu eine Methode auf.

Anwendungseinstellungen während der Entwurfsphase erstellen

Zur Entwurfszeit können Sie Anwendungseinstellungen auf zwei Arten erstellen:

  • Verwenden Sie die Seite Einstellungen des Projekt-Designers.

  • Verwenden Sie das Eigenschaftenfenster für ein Formular oder Steuerelement, mit dem Sie eine Einstellung an eine Eigenschaft binden können.

Wenn Sie eine Einstellung mit Anwendungsbereich erstellen (z. B. eine Datenbankverbindungszeichenfolge oder einen Verweis auf Serverressourcen), speichert Visual Studio sie in der app.config Datei mit dem <applicationSettings>-Tag. Verbindungszeichenfolgen werden unter dem <connectionStrings>-Tag gespeichert.

Wenn Sie eine Einstellung mit Benutzerbereich (z. B. Standardschriftart, Startseite oder Fenstergröße) erstellen, speichert Visual Studio sie in app.config Datei mit dem <userSettings>-Tag.

Wichtig

Wenn Sie Verbindungszeichenfolgen in app.configspeichern, sollten Sie Vorsichtsmaßnahmen ergreifen, um vertrauliche Informationen, z. B. Kennwörter oder Serverpfade, in der Verbindungszeichenfolge zu vermeiden.

Wenn Sie Verbindungszeichenfolgeninformationen aus einer externen Quelle verwenden, z. B. ein Benutzer, der seine Benutzer-ID und sein Kennwort bereitstellt, stellen Sie sicher, dass die Werte, die Sie zum Erstellen der Verbindungszeichenfolge verwenden, keine zusätzlichen Verbindungszeichenfolgenparameter enthalten, die das Verhalten Ihrer Verbindung ändern.

Erwägen Sie die Verwendung des Features "Geschützte Konfiguration", um vertrauliche Informationen in der Konfigurationsdatei zu verschlüsseln. Weitere Informationen finden Sie unter Schützen von Verbindungsinformationen.

Anmerkung

Da es kein Konfigurationsdateimodell für Klassenbibliotheken gibt, gelten Anwendungseinstellungen nicht für Klassenbibliotheksprojekte. Die Ausnahme ist ein Visual Studio Tools for Office Runtime DLL-Projekt, das über eine Konfigurationsdatei verfügen kann.

Verwenden von benutzerdefinierten Einstellungsdateien

Sie können Ihrem Projekt angepasste Einstellungsdateien hinzufügen, um eine bequeme Verwaltung von Gruppen von Einstellungen zu ermöglichen. Einstellungen, die in einer einzelnen Datei enthalten sind, werden als Einheit geladen und gespeichert. Das Speichern von Einstellungen in separaten Dateien für häufig verwendete und selten verwendete Gruppen kann Zeit beim Laden und Speichern von Einstellungen sparen.

Sie können z. B. ihrem Projekt eine SpecialSettings.settings Datei hinzufügen. Die SpecialSettings-Klasse wird zwar im My-Namespace nicht verfügbar gemacht, mit Code anzeigen kann jedoch die benutzerdefinierte Einstellungsdatei, die Partial Class SpecialSettings enthält, gelesen werden.

Der Einstellungs-Designer sucht zuerst nach der Settings.settings Datei, die das Projektsystem erstellt. Diese Settings.settings- Datei ist die Standarddatei, die vom Project Designer auf der Registerkarte Einstellungen angezeigt wird. Die datei Settings.settings befindet sich im Ordner My Project für Visual Basic-Projekte und im Ordner Properties für Visual C#-Projekte. Der Project Designer sucht dann im Stammordner des Projekts nach anderen Einstellungsdateien. Daher sollten Sie ihre benutzerdefinierte Einstellungsdatei dort ablegen. Wenn Sie eine .settings Datei an anderer Stelle in Ihrem Projekt hinzufügen, kann der Project Designer sie nicht finden.

Zugreifen oder Ändern von Anwendungseinstellungen zur Laufzeit in Visual Basic

In Visual Basic-Projekten können Sie mithilfe des My.Settings-Objekts zur Laufzeit auf Anwendungseinstellungen zugreifen. Wählen Sie auf der Seite Einstellungen die Schaltfläche Code anzeigen aus, um die Settings.vb Datei anzuzeigen. Settings.vb definiert die Settings Klasse, mit der Sie diese Ereignisse für die Einstellungsklasse behandeln können:

Die Settings Klasse in Settings.vb ist eine partielle Klasse, die nur den benutzereigenen Code anzeigt, nicht die gesamte generierte Klasse. Weitere Informationen zum Zugreifen auf Anwendungseinstellungen mithilfe des My.Settings-Objekts finden Sie unter Access-Anwendungseinstellungen (.NET Framework).

Die Werte aller Einstellungen mit Benutzerbereich, die der Benutzer zur Laufzeit ändert, z. B. die Position eines Formulars, werden in einer user.config Datei gespeichert. Die Standardwerte werden weiterhin in app.configgespeichert.

Wenn benutzerbezogene Einstellungen während der Laufzeit geändert werden, z. B. beim Testen der Anwendung, und Sie diese Einstellungen auf ihre Standardwerte zurücksetzen möchten, wählen Sie die Schaltfläche Synchronisieren aus.

Es wird empfohlen, das My.Settings-Objekt und die standardmäßige .settings Datei für den Zugriff auf Einstellungen zu verwenden. Sie können den Einstellungs-Designer verwenden, um Einstellungen Eigenschaften zuzuweisen, und außerdem werden Benutzereinstellungen automatisch vor dem Herunterfahren der Anwendung gespeichert. Ihre Visual Basic-Anwendung kann jedoch direkt auf Einstellungen zugreifen. In diesem Fall müssen Sie auf die MySettings Klasse zugreifen und eine benutzerdefinierte .settings Datei im Stammverzeichnis des Projekts verwenden. Sie müssen die Benutzereinstellungen speichern, bevor Sie die Anwendung beenden, wie für eine C#-Anwendung, wie im folgenden Abschnitt beschrieben.

Zugreifen oder Ändern von Anwendungseinstellungen zur Laufzeit in C#

In anderen Sprachen als Visual Basic, z. B. C#, müssen Sie direkt auf die Settings Klasse zugreifen, wie im folgenden Visual C#-Beispiel gezeigt.

Properties.Settings.Default.FirstUserSetting = "abc";

Sie müssen die Save-Methode dieser Wrapperklasse explizit aufrufen, um die Benutzereinstellungen beizubehalten. Hierfür verwenden Sie normalerweise den Closing -Ereignishandler des Hauptformulars. Das folgende C#-Beispiel zeigt einen Aufruf der Save-Methode.

Properties.Settings.Default.Save();

Allgemeine Informationen zum Zugriff auf die Anwendungseinstellungen über die Settings-Klasse finden Sie im Abschnitt Überblick über Anwendungseinstellungen (.NET Framework).

Migrieren von Apps von .NET Framework zu .NET

.NET Framework verwendet die app.config Datei zum Laden von Einstellungen für Ihre App, z. B. Verbindungszeichenfolgen und Konfiguration des Protokollanbieters. Moderne .NET verwendet die appsettings.json-Datei für App-Einstellungen. Weitere Informationen zum Konvertieren von app.config Dateien in appsettings.jsonfinden Sie unter Modernisieren nach der Aktualisierung von .NET Framework auf .NET.