Wo werden die Daten für Properties.Settings.Default gespeichert?
Frage
In meinem WPF-Anwendung, klicke ich auf Settings.settings im Solution Explorer und geben Sie eine String Variable mit einem Benutzer Anwendungsbereich:
in meinem app.config ich sehe, dass sie dort gespeichert werden:
<userSettings>
<TestSettings.Properties.Settings>
<setting name="Paths" serializeAs="Xml">
<value>
<ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<string>one</string>
<string>two</string>
<string>three</string>
<string>four</string>
<string>five</string>
<string>six</string>
<string>seven</string>
</ArrayOfString>
</value>
</setting>
</TestSettings.Properties.Settings>
</userSettings>
dann I betreiben meine Anwendung und mit diesem Code:
StringCollection paths = Properties.Settings.Default.Paths;
Properties.Settings.Default.Paths.Add("added in code");
Properties.Settings.Default.Save();
foreach (var path in paths)
{
System.Console.WriteLine(path);
}
, die mir diesen Ausgang gibt :
one
two
three
four
five
six
seven
added in code
I laufen wieder die Anwendung und es gibt mir diese Ausgabe:
one
two
three
four
five
six
seven
added in code
added in code
Aber ich schaue auf meinem app.config wieder und es hat immer noch die ursprünglichen Werte :
<userSettings>
<TestSettings.Properties.Settings>
<setting name="Paths" serializeAs="Xml">
<value>
<ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<string>one</string>
<string>two</string>
<string>three</string>
<string>four</string>
<string>five</string>
<string>six</string>
<string>seven</string>
</ArrayOfString>
</value>
</setting>
</TestSettings.Properties.Settings>
</userSettings>
Wo sind die Werte, die von der Anwendung hinzugefügt werden gespeichert werden?
Lösung
Da Sie Benutzerbereich ausgewählt, werden sie in jedem Benutzerprofil-Verzeichnis gespeichert, genauer gesagt, in der AppData
Ordner des Benutzerprofils in einer Datei mit dem Namen user.config
.
Der vollständige Pfad ist abhängig von der Anwendung ab.
In Windows 7 ohne Roaming-Profil und mit einem Windows Forms-Anwendung namens Example.Settings.CustomClass
Ich erhalte die folgenden Ordner:
C:\Users\[user]\AppData\Local\Microsoft\Example.Settings.CustomCl_Url_3qoqzcgn1lbyw2zx3oz1o3rsw2anyjsn\1.0.0.0
Beachten Sie auch, dass sie in Berücksichtigung der Version Ihrer Anwendung gespeichert werden und dass die in App.config
gespeicherten Werte sind die Standardwerte für einen neuen Benutzer verwendet wird.
Andere Tipps
Ich war auf der Suche unter Win 10 für die Einstellungen. Wenn jemand anderes Bedürfnis zu wissen, sie sind nicht in Unterordner von Microsoft (siehe vorherige Antwort) gespeichert. Schauen Sie hier:
C:\Users\[user]\AppData\Local\Example\Example...\1.0.0.0\