Warum werden meine Anwendungseinstellungen nicht beibehalten?

8

Ich habe also einige Einstellungen des user Bereichs, aber aus irgendeinem Grund werden sie nicht in der .exe.config Datei gespeichert. Ich mache folgendes:

%Vor%

Aber ich schaue mir die Einstellungsdatei im Debug-Ordner an und es ist immer noch der Standard, den ich in Visual Studio eingestellt habe. Tue ich das falsch?

    
ryeguy 28.06.2009, 06:58
quelle

3 Antworten

13

Benutzereinstellungen sind benutzerspezifisch und würden daher nicht in die systemweite .exe.config-Datei zurückgespeichert.

Aus den Dokumenten von LocalSettingsProvider :

  

Anwendungsspezifische Einstellungen und die   Standardmäßige Benutzereinstellungen sind   in einer Datei namens gespeichert   application.exe.config, was ist   erstellt im selben Verzeichnis wie die   ausführbare Datei. Anwendung   Konfigurationseinstellungen sind schreibgeschützt.   Bestimmte Benutzerdaten werden in einer Datei gespeichert   benannt username.config , gespeichert unter   das Home-Verzeichnis des Benutzers.

Damit eine UserSettingsTest-Anwendung einfach von VS aus unter dem Debugger läuft (daher das vshost-Bit), endete ich mit einem Pfad von:

%Vor%     
Jon Skeet 28.06.2009, 07:12
quelle
15

Wenn Sie Ihre Assembly-Informationen so eingestellt haben, dass sie automatisch Versionsnummern (1.0. *) generieren, wird die Versionsnummer jedes Mal, wenn Sie Ihre App debuggen, anders sein und somit jedes Mal eine neue Datei erstellen.

>

Wenn dies der Fall ist, müssen Sie ein Upgrade für die Einstellungsdatei durchführen:

%Vor%

Sie können auch standardmäßig eine Einstellung für NeedsUpgrading auf true festlegen und nach einem Upgrade auf "false" setzen, damit Endbenutzer, die nicht bei jedem Start der App die Versionsnummern ändern, nicht alle aktualisieren Zeit

    
csjohnst 28.06.2009 07:25
quelle
0

Alle Benutzerbereichseinstellungen, die unter Anwendungsdaten gespeichert sind, mit einem Ordner, der die Version Ihrer Anwendung und den Namen angibt.

Sie können diese Ordner anzeigen, indem Sie im Dialogfeld "Anwendungseinstellungen" auf "Synchronisieren" klicken.

In Vista generell:

  • c: \ Benutzer [aktueller Benutzer] \ AppData \ Local [Firmenname] [AppName] \ Version
  • c: \ Benutzer [aktueller Benutzer] \ AppData \ Roaming [Firmenname] [AppName] \ Version

Auf diese Weise wurden Einstellungen vorgenommen, die sich auf aktueller Benutzer und UAC beziehen. In Vista können Sie auch sehen, dass die anwendungsweiten Einstellungen nicht in der Konfigurationsdatei gespeichert sind.

[Firmenname] und [Produktname] stammen aus Ihren Einstellungen für Baugruppeninformationen.

    
dr. evil 28.06.2009 07:17
quelle

Tags und Links