Où sont enregistrées les données de Properties.Settings.Default?
Question
Dans mon application WPF, je clique sur Paramètres dans l'explorateur de solutions, puis saisis une variable StringCollection avec une étendue Utilisateur :
dans mon app.config, je vois qu'ils sont sauvegardés ici:
<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>
alors je lance mon application et avec le code suivant:
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);
}
qui me donne cette sortie :
one
two
three
four
five
six
seven
added in code
Je lance à nouveau l'application et le résultat est le suivant:
one
two
three
four
five
six
seven
added in code
added in code
Mais je regarde à nouveau mon app.config et il a toujours les valeurs originales :
<*>Où sont les valeurs ajoutées par l'application en cours de sauvegarde?
La solution
Depuis que vous avez sélectionné le domaine de l'utilisateur, il est enregistré dans chaque répertoire de profil utilisateur, plus précisément dans le dossier AppData
du profil utilisateur dans un fichier nommé user.config
.
Le chemin complet dépend de l'application.
Sous Windows 7 sans profil itinérant et avec une application Windows Forms nommée Example.Settings.CustomClass
, je reçois le dossier suivant:
C:\Users\[user]\AppData\Local\Microsoft\Example.Settings.CustomCl_Url_3qoqzcgn1lbyw2zx3oz1o3rsw2anyjsn\1.0.0.0
Notez également qu'elles sont enregistrées en tenant compte de la version de votre application et que les valeurs stockées dans App.config
sont les valeurs par défaut utilisées pour un nouvel utilisateur.
Autres conseils
Je cherchais les paramètres sous Win 10. Si quelqu'un d'autre a besoin de savoir, ils ne sont pas stockés dans le sous-dossier de Microsoft (voir la réponse précédente). Il suffit de regarder ici:
C:\Users\[user]\AppData\Local\Example\Example...\1.0.0.0\