Dans mon application WPF (C#, .Net Framework 4.5), J'ai besoin de lire un autre fichier de configuration d'applications.Lire le fichier de configuration d'une autre application dans l'application WPF par C#
var configFileMap = new ExeConfigurationFileMap
{
ExeConfigFilename = "ChildApp.exe.config"
};
// Configuration object
Configuration libConfig =
ConfigurationManager.OpenMappedExeConfiguration(configFileMap,
ConfigurationUserLevel.None);
// Get the section
section = (libConfig.GetSection("appSettings") as
AppSettingsSection);
// Getting the value
configValue = section.Settings["DBServer"];
Mais configValue n'obtient rien car il n'existe aucune valeur dans le dictionnaire Setting. J'ai également essayé en utilisant "userSettings" comme dans le fichier de configuration, le nom de la section est celui.
section = (libConfig.GetSection("userSettings") as
AppSettingsSection);
Dans ce cas, j'obtiens null dans la valeur "section".
Voici mon fichier de configuration
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="userSettings"
type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="ChildApp.Properties.Settings"
type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089"
allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<userSettings>
<ChildApp.Properties.Settings>
<setting name="DBServer" serializeAs="String">
<value>MyServer</value>
</setting>
<setting name="Database" serializeAs="String">
<value>MyDatabase</value>
</setting>
<setting name="DBUser" serializeAs="String">
<value>sa</value>
</setting>
<setting name="DBPassword" serializeAs="String">
<value>password123</value>
</setting>
<setting name="ErrorReportingEmail" serializeAs="String">
<value>[email protected]</value>
</setting>
</ChildApp.Properties.Settings>
</userSettings>
</configuration>
je googlé mais n'a pas pu trouver une solution qui fonctionne. Pourriez-vous m'aider à comprendre ce qui ne va pas. Merci.