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

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>

  

原文地址:https://www.cnblogs.com/jhlong/p/5870939.html