2011-01-17 11 views
1

Ich erstelle eine einfache winforms-Anwendung, die integrierte Einstellungen zum Speichern von Programmoptionen verwendet. Alle Einstellungen sind benutzerabhängig.Ist appname.exe.config für benutzerspezifische Einstellungen erforderlich?

Wie ich aus der generierten CS-Datei sehen kann, sind die Standardeinstellungen in den Quellcode eingebettet, aber die Anwendung liest immer noch die Datei appname.exe.config, wenn sie gestartet wird. Wenn ich die Datei lösche, scheint die Anwendung gut zu funktionieren, aber ich möchte sicherstellen, dass nichts kaputt geht.

Also ist die Datei erforderlich, wenn ich nur pro Benutzer Einstellungen verwende?

Antwort

0

Der Einstellungs-Designer bettet den Standardwert in ein [DefaultSettingValue] -Attribut ein. Der folgende Abschnitt in dem Abschnitt Hinweis des Attributs ist relevant:

Verschiedene Einstellungen Provider unterschiedliche Anforderungen oder Beschränkungen über die Verwendung der DefaultSettingValueAttribute hat. Für Beispiel hat das LocalFileSettingsProvider dieses Attribut nicht erforderlich ist, und wird jeden Wert von dieses Attribut versehen außer Kraft setzen, wenn es irgendwelche Werte-default oder benutzer modifizierter bereits im Datenspeicher.

LocalFileSettingsProvider ist der Standardanbieter. Also, es ist da, aber es wird nicht benutzt.

+0

Wenn der LocalFileSettingsProvider das DefaultSettingValueAttribute ignoriert, welche Werte haben dann die Einstellungen, wenn die Anwendung zum ersten Mal ausgeführt wird und es keine Konfigurationsdatei mit Standardwerten gibt? – Giorgi

+0

Ich kann nicht sagen, dass ich das jemals versucht habe, es machte nie Sinn, dies zu tun. Warum versuchst du es nicht einfach selbst? Ich vermute, dass etwas kaplooey geht. –

0

Wenn Sie die Application Settings verwenden und die Einstellungen beibehalten möchten, dann sind dies die Optionen, die gespeichert werden. Wenn Sie die Datei löschen, wird sie einfach neu erstellt, wenn der Benutzer eine Einstellung ändert und Sie die Einstellung vornehmen.

+0

Die Optionen werden im appdata-Ordner gespeichert. Die Datei enthält nur Standardwerte, die auch in Settings.Designer.cs enthalten sind. – Giorgi

1

Sie sollten Benutzereinstellungen anstelle einer Konfigurationsdatei verwenden. Weitere Informationen finden Sie im Artikel this, einschließlich Informationen zum Lesen/Schreiben von Benutzereinstellungen.

+0

Ich verwende Benutzereinstellungen. Die Konfigurationsdatei wurde automatisch von VS erstellt und beim Kompilieren in myapp.exe.config umbenannt. Ich verwende keine Konfigurationsdatei. – Giorgi

+0

@Giorgi: Das ist eine Konfigurationsdatei. Es wird standardmäßig erstellt, auch wenn Sie es nicht benötigen. – Bernard

Verwandte Themen