App.config

Résolu
babe59 Messages postés 189 Date d'inscription vendredi 28 mai 2004 Statut Membre Dernière intervention 27 novembre 2015 - 8 août 2006 à 15:42
cs_Bidou Messages postés 5486 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 - 9 août 2006 à 10:39
Bonjour,

Je ne m'en sort pas avec le fichier de config. Je trouve de la doc un peu partout mais...
Je travaille sous VS 2005 Express.

J'ai créé le fichier app.config à partir du concepteur de projet. j'y ai mis un "param1" et un "param2".
Lorsque je fais "string bb = ConfigurationManager.AppSettings["Param2"];" Il me retourne Null

En outre, je ne trouve pas le fichier dans "Documents and Settings \...." J'ai lu dans la doc qu'il créé un fichier pour chaque user

La propriété "Copier dans le répertoire" de app.config et à "Ne pas copier " est ce normal ?

Quelqu'un peut il m'aider où puis je trouver un tuto à jour pour le 2005?
J'aimerai simplement
   - ajouter des paramétres dans le fichier et config à la conception (param appli et param user)
   - modifier des paramètres en run (param user uniquement bien sur) 

(j'ai ajouté "using System.Configuration;" et la référence system.configuration)

Merci

DT

DT

5 réponses

cs_Bidou Messages postés 5486 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
8 août 2006 à 16:18
Oui on peut, jette un oeil sur ce topic une fois

<hr size="2" />VC# forever
cs_Bidou Messages postés 5486 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
9 août 2006 à 10:39
Le mieux, c'est que tu fasses un nouveau topic pour tes questions....

<hr size="2" />VC# forever
cs_Bidou Messages postés 5486 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
8 août 2006 à 15:46
Salut,
Comment est conçu ton fichier ? Ceci doit fonctionner :

<configuration>
 
  
 
</configuration>





string str = ConfigurationManager.AppSettings["TestKey"].ToString();


<hr size="2" />




VC# forever
babe59 Messages postés 189 Date d'inscription vendredi 28 mai 2004 Statut Membre Dernière intervention 27 novembre 2015
8 août 2006 à 16:10
Ce que tu proposes fonctionne très bien. Mais je suis parti du concepteur de projet qui à généré automatiquement mon fichier de conf. Grâce à lui, je peux gérer une config particulière pour chaque user (comme je le faisais avant en VB6 avec la base de registre et le HKCU). Tu remarqueras que j'ai "Param2" pour le UserSettings et "Param1" pour ApplicationSettings.
Y a t il un moyen pour exploiter simplement ce fichier (généré automatiquement par VS2005Express) que voici :

<?

xmlversion="
1.0"
encoding="
utf-8"
?><

configuration><

configSections><

sectionGroupname="
userSettings"
type="
System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
><

sectionname="
WindowsApplication1.Properties.Settings"
type="
System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
allowExeDefinition="
MachineToLocalUser"
requirePermission="
false"
/></

sectionGroup><

sectionGroupname="
applicationSettings"
type="
System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
><

sectionname="
WindowsApplication1.Properties.Settings"
type="
System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
requirePermission="
false"
/></

sectionGroup></

configSections><

userSettings><

WindowsApplication1.Properties.Settings><

settingname="
Param2"
serializeAs="
String"
><

value>2222
</value></

setting></

WindowsApplication1.Properties.Settings></

userSettings><

applicationSettings><

WindowsApplication1.Properties.Settings><

settingname="
Param1"
serializeAs="
String"
><

value>111
</value></

setting></

WindowsApplication1.Properties.Settings></

applicationSettings></

configuration>

DT

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
babe59 Messages postés 189 Date d'inscription vendredi 28 mai 2004 Statut Membre Dernière intervention 27 novembre 2015
9 août 2006 à 09:55
Merci pour le lien, La réponse de Nikoui me convient parfaitement. C'est en outre très simple. Comme prévue, l'appli sauvegarde un fichier user.config dans le répertoire "C:\Documents and Settings\compt euser\Local Settings\Application Data\societe\WindowsApplication1.vshos_Url_m1n3kdlla4svs102wkedmhzgangtoeug\1.0.0.0" qui contient les données modifiées de la section de mon app.config et donc propre à l'utilisateur en cours

côté source, c'est mon manque d'expérience qui m'a posé problème. en fait le namspace est différent pour cette classe (Settings) c'est "WindowsApplication1.Properties".
Voici donc comment accèder au paramétre de l'appli :
"Properties.Settings.Default.Param2.ToString()"

De plus pour sauvegarder des param modifiés par l'utilisateur, il suffit de faire :
"Properties.Settings.Default.Param2 = "11111111111";  /* modif du param
Properties.Settings.Default.Save();"                                 /* maj du param

Attention Properties.Settings.Default.Param1 n'est pas modifiable ! il est en lecture seule car c'est un paramètre ayant comme portée l'application.

C'est si  simple et cela m'a pris tellement de temps... j'espère que d'autres profiterons de cela

Il me reste deux autres points :
   - Comment peut on créer une autre rubirque que la rubrique "Default" (à partir des utilitaire VS) ?
   - A quoi sert la propriété "Copier dans le répertoire de sortie" du fichier Settings.settings et app.config (je ne comprend pas l'aide en ligne ?

DT

DT
Rejoignez-nous