Bonjour, j'aimerai avoir un fichier de configuration commun entre plusieurs application, j'ai crée un fichier comme 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>
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
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);
}
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
NameValueCollection section = (NameValueCollection)config.GetSection("MaSection");
Erreur : Impossible de convertir le type 'System.Configuration.ConfigurationSection' en 'System.Collections.Specialized.NameValueCollection'

Des idées ?
Merci.