【发布时间】:2016-05-13 00:01:07
【问题描述】:
我的应用程序使用 App.config 外部的 AppSettings.config 和 ConnectionStrings.config 运行。我想添加另一个配置文件 GlobalSettings.config,我将从其中提取我不希望包含在 AppSettings.config 中的信息。
在准备提出这个问题时,我阅读了以下 SO 问题,实施了建议的解决方案,但尚未找到解决方案:
- Multiple AppSettings files, is it possible?
- Configuration system failed to initialize error while loading a custom section from app.config
- configuration system failed to initialize ==> unrecognized configuration section
- App.Config errors with “Configuration system failed to initialize”
在运行时,我收到 {"Configuration system failed to initialize"} 异常,并带有“无法识别的配置部分 globalSettings”的 innerException 消息。
以下是我当前的文件。删除 App.config 的 <globalSettings file="GlobalSettings.config"/> 行可以让我的应用程序成功运行。
我已尝试根据上述链接的建议重新格式化 GlobalSettings.config 文件。根据我的阅读,我的理解是它应该像在 AppSettings.config 中声明一个新的 configSection 一样工作。从我的经验来看,情况似乎并非如此。
此时,应用程序中没有访问 GlobalSettings.config 的代码,因为它在运行时中断。
任何特定的方向和/或参考材料的方向都值得赞赏。如果我可以提供更多信息,请告诉我。
App.config:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
</startup>
<appSettings file="AppSettings.config"/>
<connectionStrings configSource="ConnectionStrings.config"/>
<globalSettings file="GlobalSettings.config"/>
</configuration>
全局设置:
<?xml version="1.0"?>
<configuration>
<configSections>
<section name="globalSettings"
type="System.Configuration.AppSettingsSection" requirePermission="false" />
</configSections>
<globalSettings>
<add key="key" value="keyValue" />
</globalSettings>
</configuration>
【问题讨论】:
标签: c# .net config app-config