2011-07-21 66 views
9

,我發現了以下情況例外,當我嘗試打電話Common.Logging配置例外

var log = LogManager.GetLogger(this.GetType()); 

型「Common.Logging.ConfigurationException」的第一次機會異常出現在Common.Logging.dll

類型「Common.Logging.ConfigurationException」的unhanded異常出現在Common.Logging.dll

其他信息:無法獲得用於從設定單元Common.Logging配置「commo N /記錄」。

這是一個.NET 4的應用程序與引用

  • log4net.dll
  • Common.Logging.dll
  • Common.Logging.log4net.dll

我app.config具有以下內容:

<?xml version="1.0"?> 
<configuration> 
    <startup> 
     <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> 
    </startup> 
    <configSections> 
     <sectionGroup name="common"> 
      <section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" /> 
     </sectionGroup> 
    </configSections> 
    <common> 
     <logging> 
      <factoryAdapter type="Common.Logging.Simple.ConsoleOutLoggerFactoryAdapter, Common.Logging"> 
       <arg key="level" value="ALL" /> 
       <arg key="showLogName" value="true" /> 
       <arg key="showDataTime" value="true" /> 
       <arg key="dateTimeFormat" value="yyyy/MM/dd HH:mm:ss:fff" /> 
      </factoryAdapter> 
     </logging> 
    </common> 
</configuration>  

我試圖像這樣調用:

var log = LogManager.GetLogger(this.GetType()); 
log.Debug(m => m("testing")); 

我缺少什麼?

回答

28

如果您從配置中刪除元素startup,它將正常運行。

編輯:而不是刪除,只是在configsections後移動啓動元素。

+0

哇!事實上,刪除它,它的作品。如果你陳述'爲什麼',則加分。 – Jahmic

+1

我相信這是因爲配置模式是如何驗證或加載的。 – Klinger

+0

不錯的一個!此答案仍適用於VS2012/.Net 4.5,Common.Logging 2.1.1,Common.Logging.Log4Net 2.0.0和log4net 1.2.10 –