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?

War es hilfreich?

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\
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top