162 votes

Où sont stockés les Properties.Default.Settings?

Je pensais que je savais cela, mais aujourd'hui je me suis tromper de nouveau.

L'exécution de VS2008, .NET 3.5 et C#. J'ai ajouté les paramètres de l'Utilisateur pour les Propriétés de l'onglet Paramètres avec des valeurs par défaut, puis de les lire à l'aide de ce code:

myTextBox.Text = Properties.Settings.Default.MyStringProperty;

Ensuite, une fois que l'utilisateur modifie la valeur dans la boîte de dialogue options, je l'enregistrer comme ceci:

Properties.Settings.Default.MyStringProperty = myTextBox.Text;
Properties.Settings.Default.Save();

Ma question est, où est cette nouvelle valeur sauvé? le MyApp.exe.fichier de config dans le répertoire exécutable n'est pas actualisé, il contient les valeurs par défaut. De Plus, autant que je sache, aucun des autres fichiers de ce répertoire sont mis à jour!!!! Cependant, lorsque le programme lit la valeur de retour, il obtient la variation de la valeur, donc je sais que c'est enregistré quelque part...

Ce n'est pas seulement académique, j'avais besoin d'être en mesure de modifier manuellement la valeur de ce matin et me suis perplexe quand je ne pouvais pas trouver quelque chose qui était en train de changer.

Merci pour toute la perspicacité, Dave

157voto

jasonh Points 7284

Afin de travailler avec des versions plus récentes de Windows " politique de permettre l'accès en lecture par défaut pour le dossier Program Files (à moins que vous invite à une élévation avec contrôle de compte d'utilisateur, mais c'est un autre sujet...), votre demande sera un des paramètres de sous-dossier %userprofile%\appdata\local ou %userprofile%\Local Settings\Application Data selon la version de Windows que vous utilisez, pour les paramètres qui sont propres à l'utilisateur. Si vous stockez des paramètres pour tous les utilisateurs, qu'ils soient dans le dossier correspondant en vertu de C:\users ou C:\Documents et les Paramètres de tous les profils d'utilisateur (ex: C:\users\public\appdata\local).

103voto

Akbaritabar Points 101

Vous pouvez obtenir le chemin par programme:

 using System.Configuration;  // Add a reference to System.Configuration.dll
...
var path = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal).FilePath;
 

7voto

Stan R. Points 8967

il est enregistré dans vos documents et paramètres \% utilisateur% \ paramètres locaux \ données d'application ...... etc recherchez un fichier appelé user.config à cet emplacement.

l'emplacement peut changer cependant.

0voto

Joel Coehoorn Points 190579

Les paramètres spécifiques à l'utilisateur sont enregistrés dans le dossier Application Data de l'utilisateur pour cette application. Recherchez un fichier user.config .

Je ne sais pas ce que vous attendiez, car les utilisateurs n'ont souvent même pas accès en écriture au répertoire des exécutables.

-20voto

J.W. Points 8135

Il existe un dossier appelé "Propriétés" sous le dossier racine de votre projet et un fichier * .settings sous ce dossier. C'est là que ça se stocke.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X