Quartz.net и Common.Logging - Использование Log4Net - PullRequest
3 голосов
/ 10 февраля 2010

Я использую Quartz.net в службе Windows. В настоящее время триггер не срабатывает - я хотел бы использовать регистрацию, чтобы выяснить, почему.

Я отредактировал мой конфигурационный файл для службы 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: \ CompanyName - корневой каталог для всех проектов
C: \ CompanyName \ build \ bin - Выходной каталог для всех проектов / библиотек классов в моем решении
C: \ CompanyName \ lib - куда помещаются сторонние двоичные файлы / библиотеки

В моем проекте службы Windows у меня есть ссылка на Quartz (в папке C: \ CompanyName \ lib)

Я также добавил ссылку на Common.Logging.Log4net.dll

Когда я тестирую приложение, я получаю следующую ошибку:

Не удалось загрузить файл или сборку 'Common.Logging, Version = 2.0.0.0, Culture = нейтрально, PublicKeyToken = af08829b84f0328e 'или одна из его зависимостей. Расположенный определение манифеста сборки делает не совпадает со ссылкой на сборку. (Исключение из HRESULT: 0x80131040) ":" Common.Logging, Версия = 2.0.0.0, Культура = нейтральная, PublicKeyToken = af08829b84f0328e

Ответы [ 2 ]

6 голосов
/ 16 февраля 2010

Я думаю, что у вас неправильная версия Common.Logging. Текущая версия Quartz.Net использует версию 1.2 Common.Logging, а не 2.0. Если вам нужно использовать 2.0, попробуйте либо перекомпилировать quartz.net с версией общего ведения журнала версии 2.0, либо попробуйте , перенаправив сборку .

0 голосов
/ 12 февраля 2010

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

...