【发布时间】: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。
【问题讨论】:
-
您确定要进行机器级配置吗?除非你做了一些非常特别的事情,而是在构建过程中复制 DLL 旁边的配置,否则你会使用 Exe 级别的配置,如 stackoverflow.com/questions/594298/c-sharp-dll-config-file 所示
标签: c# app-config