2010-02-10 110 views
3

我在一個Windows服務中使用Quartz.net。 目前,觸發器沒有觸發 - 我想使用日誌記錄來找出原因。Quartz.net和Common.Logging - 使用Log4Net

我已經編輯我的配置文件爲Windows服務:

<configSections> 
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /> 

    <sectionGroup name="common"> 
     <section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" /> 
    </sectionGroup> 
</configSections> 

<appSettings> 
    <!--specific win service settings here--> 
</appSettings> 

<common> 
    <logging> 
     <factoryAdapter type="Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter, Common.Logging.Log4Net"> 
      <arg key="configType" value="INLINE"/> 
      <arg key="configFile" value="c:\sched.log"/> 
      <arg key="level" value="INFO" /> 
     </factoryAdapter> 
    </logging> 
</common> 

<log4net> 
    <appender name="EventLogAppender" type="log4net.Appender.EventLogAppender"> 
     <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="%d [%t] %-5p %l - %m%n" /> 
     </layout> 
    </appender> 
    <root> 
     <level value="INFO" /> 
     <appender-ref ref="EventLogAppender" /> 
    </root> 
</log4net> 

我的文件結構如下:

C:\公司名稱 - 根目錄爲所有項目
C: \ CompanyName \ build \ bin - 我的解決方案中所有項目/類庫的輸出目錄
C:\ CompanyName \ lib - 如果第三方二進制文件/ DLL是把

在我的Windows服務項目,我必須石英引用(在C:\公司名稱\ lib文件夾)

我也加入到Common.Logging參考.Log4net.dll

當我測試的應用程序,我得到以下錯誤:

Could not load file or assembly 'Common.Logging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=af08829b84f0328e' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)":"Common.Logging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=af08829b84f0328e

回答

6

我想你可能有錯誤版本的Common.Logging。當前版本的Quartz.Net使用Common.Logging版本1.2,而不是2.0。如果您需要使用2.0,請嘗試使用2.0版的常見日誌記錄重新編譯quartz.net,或者嘗試使用redirecting the assembly

+0

如果您重定向綁定,您將需要publickeytoken,因此,使用C:\ Program Files文件(x86)\ Microsoft SDKs \ Windows \ v7.0A \ Bin \ NETFX 4.0 Tools \ x64 \> sn - T Kjellski 2011-11-17 12:24:01

+1

Quartz ver 2.1.2顯然適用於Commong.Logging版本2.1.2.0 – 2013-09-03 15:23:37

0

使用this post調試組件加載,看看是否能找出不匹配的原因。