【问题标题】:different config files on C# projectsC# 项目中的不同配置文件
【发布时间】:2015-12-14 11:29:05
【问题描述】:

我有两个项目:UI(Winforms 应用程序)和 Core(dll)。 每个项目都必须拥有自己的配置文件。

例如:

核心项目(settings.config)

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <appSettings>
        <add key="environment" value="development"/>
    </appSettings>
</configuration>

UI 项目 (app.config)

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <appSettings>
        <add key="skin" value="win"/>
    </appSettings>
</configuration>

从 Core 我将 settings.config 读取为:

System.Configuration.ConfigurationFileMap fileMap = new System.Configuration.ConfigurationFileMap("settings.config");
System.Configuration.Configuration configuration = System.Configuration.ConfigurationManager.OpenMappedMachineConfiguration(fileMap);
string environment = configuration.AppSettings.Settings["environment"].Value;

此时崩溃并转储我,它无法将 System.Configuration.DefaultSection 转换为 System.Configuration.AppSettingsSection

【问题讨论】:

标签: c# app-config


【解决方案1】:

我想你需要的是这个

        ExeConfigurationFileMap configFileMap = new ExeConfigurationFileMap()
        {
            ExeConfigFilename = "settings.config"
        };
        var configuration = ConfigurationManager.OpenMappedExeConfiguration(configFileMap,
           ConfigurationUserLevel.None);
        var section = (AppSettingsSection)configuration.GetSection("appSettings");
        string value = section.Settings["environment"].Value;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-02
    • 2010-10-06
    • 1970-01-01
    • 2014-01-05
    • 1970-01-01
    相关资源
    最近更新 更多