添加log4net配置时出现异常

时间:2014-03-23 20:06:52

标签: c# log4net log4net-configuration

我在App.cs文件的第一行代码中遇到错误(正在创建一个只读变量)。我得到的错误是:

  

“System.TypeInitializationException”类型的第一次机会异常   发生在PresentationFramework.dll中未处理的类型异常   发生'System.TypeInitializationException'   PresentationFramework.dll其他信息:类型初始值设定项   因为'System.Windows.Application'引发了异常。

这是我在VS中获得的消息弹出窗口:

  

“System.TypeInitializationException”类型的未处理异常   发生在PresentationFramework.dll

中      

附加信息:类型初始化程序   'System.Windows.Application'引发了异常。

我所做的唯一更改是将其添加到我的app.config

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <startup> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.1"/>
  </startup>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
  </configSections>
  <log4net>
    <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" >
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger [%ndc] - %message%newline" />
      </layout>
    </appender>
    <root>
      <level value="INFO" />
      <appender-ref ref="ConsoleAppender" />
    </root>
  </log4net>
</configuration>

2 个答案:

答案 0 :(得分:22)

问题是我在<startup>文件的开头而不是文件的末尾有app.config xml节点。它必须是app.config文件中的最后一件事。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  // lots of other stuff here...
  <startup> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.1"/>
  </startup>
</configuration>

答案 1 :(得分:0)

我有同样的错误。我发现<configSections>必须是第一个元素。