Bonjour, j'aimerai avoir un fichier de configuration commun entre plusieurs application, j'ai crée un fichier comme ca :
Pour lire la section "appSettings" pas de problème j'ai codé ca :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <section name="MaSection" type="System.Configuration.NameValueSectionHandler" /> </configSections> <appSettings> <add key="MaCle1" value="MaValeur1"/> </appSettings> <MaSection> <add key="MaCle2" value="MaValeur2"/> </MaSection> </configuration>
Mais pour plus de lisibilité je voudrai mettre mes paramètres dans différentes sections. Je n'arrive pas à lire la section "MaSection" avec le type définie. J'ai essayer ceci mais j'ai une erreur de cast impossible :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 ExeConfigurationFileMap configFileMap = new ExeConfigurationFileMap(); configFileMap.ExeConfigFilename = @"NomDuFichier.config"; Configuration config = ConfigurationManager.OpenMappedExeConfiguration(configFileMap, ConfigurationUserLevel.None); foreach (string key in config.AppSettings.Settings.AllKeys) { Message(key + " - " + config.AppSettings.Settings[key].Value); }
Erreur : Impossible de convertir le type 'System.Configuration.ConfigurationSection' en 'System.Collections.Specialized.NameValueCollection'
Code : Sélectionner tout - Visualiser dans une fenêtre à part NameValueCollection section = (NameValueCollection)config.GetSection("MaSection");
Des idées ?
Merci.
Partager