Ecriture dans le fichier app.config

[Résolu]
Signaler
Messages postés
616
Date d'inscription
mercredi 10 septembre 2008
Statut
Membre
Dernière intervention
9 février 2017
-
Messages postés
860
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
19 août 2014
-
Bonjour a tous,

Alors j'ai une question et une info pour ceux qui doivent manipuler le fichier app.config.

Dans ce fichier on peut stocker et/ou lire des paramètres de l'application que l'on veut par exemple conserver lors d'un démarrage ultérieur.

Par exemple pour écrire dans ce fichier, en VS2005 j'écrivais entre autre cette ligne :

Configuration config =  ConfigurationManager.OpenExeConfiguration( ConfigurationUserLevel.None );


J'ai eu la bonne surprise que cette ligne ne fonctionne pas dans VS2008. J'ai donc chercher sur internet et j'ai trouve que c'est celle-ci qui fonctionne :

Configuration config  = ConfigurationManager.OpenExeConfiguration(Application.ExecutablePath);


En revanche, je n'ai pas trouve d'explication sur le pourquoi du comment. Même dans msdn !

Alors pour ma culture générale et si quelqu'un a une explication : j'écoute attentivement...

Merci pour vos réponses et a bientôt.

"Chez ceux qui semblent très vertueux se cachent en général la vanité, l'orgueil, l'intolérance".

P.Coehlo (Maktub 2004)

3 réponses

Messages postés
860
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
19 août 2014
26
Re,

Tu devrais effectivement trouver facilement ton bonheur avec les settings.
Un autre petit lien "HOW TO": http://www.codeproject.com/KB/cs/PropertiesSettings.aspx.

Bonne journée,

Billou_13

--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------
Messages postés
860
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
19 août 2014
26
Bonjour,

Si tu trouves peu de choses sur msdn, c'est justement parce qu'un fichier app.config n'est pas fait pour être "modifié".
Il s'agit là de la configuration de ton application qui contient principalement les données inhérentes à l'exécution de ton application: chaîne de connexion au bases, endpoint WCF, configuration du logger...

Cependant, si tu as besoin de configuration spécifique à ton utilisateur, c'est là que les "settings files" entrent en jeu. Ces derniers permettent facilement la lecture/écriture de variable de configuration qui seront spécifique au poste utilisateur. Donc, à recommander pour les "Préférences", "Options"...
Msdn: Using Settings in C#
Ces derniers seront aussi sauvegardés dans le fichier app.config mais dans une section spécifique.

Maintenant, si tu veux faire un outil du style Enterprise Library Configuration Tools dont le but consiste à éditer le fichier de config d'une application, j'ai bien peur qu'il te faudra mettre la main dans le camboui.
Et dans ce cas, peut-être trouveras-tu ton bonheur dans le code source de Enterprise Library: ici.

Bon développement,

Billou_13

--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------
Messages postés
616
Date d'inscription
mercredi 10 septembre 2008
Statut
Membre
Dernière intervention
9 février 2017
6
Bonjour billou,

Merci de ta réponse.

Dans un premier temps, et j'ai oublie de le préciser dans mon précèdent message, j'ai utilise les settings files qui effectivement répondent a ce que je veux faire.
Cependant, j'avais toujours un message d'erreur lors de l'utilisation des settings dans le code : "Failed to initialize...je sais plus quoi".

En parcourant un peu les différents forum c#, il semblerait que ce soit un bug visual lie au sérialisation (pas convaincu car j'ai lu en diagonal certains posts).

Du coup j'ai utilise le fichier app.config.
Mais je n'ai pas dit mon dernier mot, car je vais tester de nouveau les settings mais mes développement étaient au point mort et ca m'agaçait...


[b]"Chez ceux qui semblent très vertueux se cachent en général la vanité, l'orgueil, l'intolérance".

P.Coehlo (Maktub 2004)/b