ConfigurationManager.AppSettings - Comment modifier et de les enregistrer?
Il peut sembler trop trival à demander et je fais la même chose que suggéré dans les articles, mais il ne fonctionne pas comme prévu. J'espère que quelqu'un peut m'indiquer la bonne direction.
Je voudrais enregistrer le usersettings par AppSettings.
Une fois le Winform est fermé, j'ai déclencher cette:
conf.Configuration config =
ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
if (ConfigurationManager.AppSettings["IntegrateWithPerforce"] != null)
ConfigurationManager.AppSettings["IntegrateWithPerforce"] =
e.Payload.IntegrateCheckBox.ToString();
else
config.AppSettings.Settings.Add("IntegrateWithPerforce",
e.Payload.IntegrateCheckBox.ToString());
config.Save(ConfigurationSaveMode.Modified);
Donc la première fois lors de l'entrée n'existent pas encore, il suffit de créer elle, sinon, elle serait de modifier l'entrée existante. Mais ce n'est pas de sauver des.
1) Ce que je fais mal?
2) Où suis-je attendre la usersettings pour les paramètres d'Application pour être sauvé? Est-il dans le dossier de Débogage ou dans C:\Documents and Settings\nom d'utilisateur\Local Settings\Application Data dossier?
- Reportez-vous à ceci: stackoverflow.com/questions/453161/...
- double possible de les Meilleures pratiques pour enregistrer les paramètres de l'application dans une application Windows
- En fait je n'ai pas envie d'utiliser des Paramètres.les paramètres de ce qui y est expliqué. Mais maintenant, je pense que la façon dont je l'utilise, n'est pas la bonne approche, après tout, depuis sa sauvegardant les valeurs que les paramètres de l'Application plutôt que de usersettings...
- Il sera dans le dossier que l'exécutable est situé dans. Donc, si vous exécutez à partir de Visual Studio en vertu de Débogage, il sera dans le dossier de Débogage de votre projet.
- Idem ce que Justin a dit. Et si vous l'exécutez à partir de Visual Studio, il va REMPLACER l' .fichier de config dans le dossier de Débogage de votre projet à chaque fois que vous exécutez votre application.
- Je trouve que cela est tout à jQuery qui semble bizarre pour moi: var calendar_src = '/@ConfigurationManager.AppSettings["ThisApp"]/Content/Images/calendar_icon_blue.png'; Pourquoi ne pas simplement var calendar_src = 'Content/Images/calendar_icon_blue.png'; ?
- geekswithblogs.net/akraus1/archive/2006/01/04/64871.aspx espérons que cela aide 🙂
Vous devez vous connecter pour publier un commentaire.
Peut-être que vous devriez regarder lors de l'ajout d'un Fichier de Paramètres. (par exemple, App.Les paramètres)
La création de ce fichier va vous permettre d'effectuer les opérations suivantes:
Cela signifie que vous pouvez modifier, puis modifiez les éléments, où les éléments sont fortement typés, et le meilleur de tous... vous n'avez pas à toucher xml avant de déployer!
Le résultat est une Application ou de l'Utilisateur réglage contextuelle.
Ont un coup d'oeil dans la partie "ajouter un nouvel élément de menu" pour le fichier de configuration.
Sur la façon de modifier les valeurs dans la section appSettings dans votre application.fichier de configuration:
fait le travail.
Bien sûr, il est préférable Paramètres de classe, mais cela dépend de ce que vous êtes après.
Je sais je suis en retard 🙂 Mais ce pourquoi je le fais:
Pour plus d'informations regardez MSDN
Préfèrent
<appSettings>
à<customUserSetting>
section. Il est beaucoup plus facile à lire ET à écrire avec (Web)ConfigurationManager. ConfigurationSection, ConfigurationElement et ConfigurationElementCollection vous obliger à dériver des classes personnalisées et mise en place des ConfigurationProperty propriétés. Beaucoup trop pour de simples de tous les jours mortels de l'OMI.Voici un exemple de la lecture et de l'écriture pour le web.config:
Avant:
Après:
de base en question est au sujet de la victoire formes voici la solution :
( Je viens de changer le code par user1032413 à rflect windowsForms paramètres )
si c'est une nouvelle clé :
si la clé existe déjà :
Essayez d'ajouter cet après votre enregistrer l'appel.
Rappelez-vous que ConfigurationManager utilise une seule application.config qui est dans le projet de démarrage.
Si vous mettez un peu d'application.config pour une solution Un et de faire une référence à partir d'une autre solution B alors si vous exécutez B, app.config à partir d'Un sera ignoré.
Ainsi, par exemple, l'unité de projet de test devraient avoir leur propre application.config.
Je pense que le problème est que dans le débogage de visual studio ne pas utiliser la normale exeName.
il utiliser indtead "NameApplication".host.exe
le nom du fichier de configuration est "NameApplication".de l'hôte.exe.config et pas
"NameApplication".exe.config
et après l'application à proximité - il de retour à l'arrière de l'app.config
donc si vous consultez le mauvais fichier ou vous de vérifier sur le mauvais temps, vous verrez que rien n'a changé.
Vous pouvez la modifier manuellement: