App.config [Résolu]

babe59 189 Messages postés vendredi 28 mai 2004Date d'inscription 27 novembre 2015 Dernière intervention - 8 août 2006 à 15:42 - Dernière réponse : cs_Bidou 5507 Messages postés dimanche 4 août 2002Date d'inscription 20 juin 2013 Dernière intervention
- 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
Afficher la suite 

5 réponses

Répondre au sujet
cs_Bidou 5507 Messages postés dimanche 4 août 2002Date d'inscription 20 juin 2013 Dernière intervention - 8 août 2006 à 16:18
+3
Utile
Oui on peut, jette un oeil sur ce topic une fois

<hr size="2" />VC# forever
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_Bidou
cs_Bidou 5507 Messages postés dimanche 4 août 2002Date d'inscription 20 juin 2013 Dernière intervention - 9 août 2006 à 10:39
+3
Utile
Le mieux, c'est que tu fasses un nouveau topic pour tes questions....

<hr size="2" />VC# forever
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_Bidou
cs_Bidou 5507 Messages postés dimanche 4 août 2002Date d'inscription 20 juin 2013 Dernière intervention - 8 août 2006 à 15:46
0
Utile
Salut,
Comment est conçu ton fichier ? Ceci doit fonctionner :

<configuration>
 
  
 
</configuration>





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


<hr size="2" />




VC# forever
Commenter la réponse de cs_Bidou
babe59 189 Messages postés vendredi 28 mai 2004Date d'inscription 27 novembre 2015 Dernière intervention - 8 août 2006 à 16:10
0
Utile
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
Commenter la réponse de babe59
babe59 189 Messages postés vendredi 28 mai 2004Date d'inscription 27 novembre 2015 Dernière intervention - 9 août 2006 à 09:55
0
Utile
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
Commenter la réponse de babe59

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.