Domanda

sto usando Quartz.net all'interno di un servizio di Windows. Attualmente, il trigger non è sparare -. Mi piacerebbe utilizzare la registrazione per scoprire perché

Ho modificato il mio file di configurazione per il servizio di 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>

La mia struttura dei file è il seguente:

C: \ CompanyName - dir radice per tutti i progetti
C: \ CompanyName \ accumulo \ bin - directory di output per tutti i progetti / librerie di classi nella mia soluzione
C: \ CompanyName \ lib - Dove 3rd binari partito / DLL vengono messe

Nel mio progetto di servizio Windows, ho un riferimento a quarzo (nella cartella C: \ CompanyName \ cartella lib)

Ho anche aggiunto un riferimento alla Common.Logging.Log4net.dll

Quando ho testare la mia app, ottengo il seguente errore:

  

Impossibile caricare il file o l'assembly   'Common.Logging, Version = 2.0.0.0,   Culture = neutral,   PublicKeyToken = af08829b84f0328e' o   una delle sue dipendenze. la posizione   definizione manifesta dell'assemblea fa   non corrisponde al riferimento assemblaggio.   (Eccezione da HRESULT:   0x80131040) ":" Common.Logging,   Version = 2.0.0.0, Culture = neutral,   PublicKeyToken = af08829b84f0328e

È stato utile?

Soluzione

Penso che si potrebbe avere la versione sbagliata di Common.Logging. La versione attuale di Quartz.Net utilizza la versione Common.Logging 1.2, non 2.0. Se avete bisogno di usare 2.0, provare uno ricompilare quartz.net con la versione 2.0 di registrazione comune o provare reindirizzando l'assemblea .

Altri suggerimenti

questo post per eseguire il debug dell'assembly di carico per vedere se è possibile individuare la causa della mancata corrispondenza.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top