2010-02-10 3 views
3

Я использую Quartz.net в службе Windows. В настоящее время триггер не срабатывает - я бы хотел использовать журнал, чтобы узнать, почему.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 - Где третья сторона бинарники/DLLs ставятся

В моем проекте службы 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, попробуйте либо перекомпилировать quartz.net, либо версию 2.0 общего журнала, либо вместо этого попробуйте redirecting the assembly.

+0

Если вы переадресовываете привязку, вам будет удобно использовать публикацию, поэтому используйте C: \ Program Files (x86) \ Microsoft SDK \ Windows \ v7.0A \ Bin \ NETFX 4.0 Tools \ x64 \> sn - T Kjellski

+1

Очевидно, Quartz ver 2.1.2 работает с Commong.Logging Версия 2.1.2.0 –

0

Использование this post для отладки загрузки сборки, чтобы увидеть, если вы можете определить причину несоответствия.