Pergunta

Eu estou usando Quartz.net dentro de um serviço do Windows. Atualmente, o gatilho não está disparando. - Eu gostaria de usar o log para descobrir o porquê

Eu editei meu arquivo de configuração para o serviço 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>

Meu estrutura do arquivo é o seguinte:

C: \ CompanyName - dir raiz para todos os projetos
C: \ CompanyName \ build \ bin - diretório de saída para todos os projetos / bibliotecas de classe em minha solução
C: \ CompanyName \ lib - Onde 3º binários partido / dlls são colocados

No meu projeto de serviço do Windows, tenho uma referência para Quartz (no C: \ CompanyName \ lib pasta)

Tenho também acrescentou uma referência a Common.Logging.Log4net.dll

Quando eu testar meu aplicativo, eu recebo o seguinte erro:

Não foi possível carregar arquivo ou assembly 'Common.Logging, versão = 2.0.0.0, Culture = neutral, PublicKeyToken = af08829b84f0328e' ou uma das suas dependências. o localizada Definição de manifesto do assembly faz não corresponde à referência de montagem. (Exceção de HRESULT: 0x80131040) ":" Common.Logging, Version = 2.0.0.0, Culture = neutral, PublicKeyToken = af08829b84f0328e

Foi útil?

Solução

Eu acho que você pode ter a versão errada do Common.Logging. A versão corrente da Quartz.Net utiliza a versão 1.2 Common.Logging, não 2.0. Se você precisa usar 2,0, tente qualquer recompilação quartz.net com a versão 2.0 do registro comum ou tentativa redirecionando a montagem .

Outras dicas

Use este pós para depurar a montagem carregamento para ver se você pode identificar a causa da incompatibilidade.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top