App.config“配置系统未能初始化” 异常解决 C#

时间:2022-07-07 19:39:25

System.Configuration.ConfigurationManager.AppSettings["user"];

时出现“配置系统未能初始化” 错误

 

解决办法:

如果配置文件中包含 configSections 元素,则 configSections 元素必须是 configuration 元素的第一个子元素。",将appSettings放到configSections 后,则正常。

 

是调用log4net的问题,把App.config顺序搞乱了。

 

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<!-- log4net的定义 -->
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
<!--配置log4net-->
<log4net>
<!--使用Rolling方式记录日志按日来记录日志-->
<appender name="ErrorLog" type="log4net.Appender.RollingFileAppender">
<file value="log\\" />
<appendToFile value="true" />
<param name="LockingModel" value="log4net.Appender.FileAppender.MinimalLock" />
<rollingStyle value="Date" />
<datePattern value="yyyy-MM-dd".txt"" />
<staticLogFileName value="false" />
<layout type="log4net.Layout.PatternLayout">
<!--<header value="开始记录
"/>-->
<!--<footer value="结束记录
"/>-->
<conversionPattern value="时间:%d %m %n" />
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<!--只接受最小等级与最大等级之间的日志输出,其他的被过滤,这里接受WARN(警告),ERROR(错误),FATAL(致命)级别的输出-->
<param name="LevelMin" value="INFO" />
<param name="LevelMax" value="FATAL" />
</filter>
</appender>
<!--定义日志的输出媒介-->
<root>
<!--RollingFileAppender事件日志-->
<appender-ref ref="ErrorLog" />
</root>
</log4net>
<runtime>
<legacyCorruptedStateExceptionsPolicy enabled="true"/>
</runtime>
<appSettings>
<add key="user" value="admin"/>
</appSettings>
</configuration>