Frage

Ich verwende Quartz.net in einem Windows-Dienst. Derzeit wird der Trigger nicht ausgelöst -. Ich die Protokollierung verwenden möchte herausfinden, warum

Ich habe meine Config-Datei für den Windows-Dienst bearbeitet:

<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>

Meine Dateistruktur ist wie folgt:

C: \ Company - root dir für alle Projekte
C: \ Company \ build \ bin - Ausgabeverzeichnis für alle Projekte / Klassenbibliotheken in meiner Lösung
C: \ Company \ lib - Wo 3rd-Party-Binärdateien / DLLs setzen

In meinem Windows-Projekt habe ich einen Verweis auf Quartz (im Verzeichnis C: \ Company \ lib-Ordner)

Ich habe auch einen Verweis auf Common.Logging.Log4net.dll

hinzugefügt

Wenn ich meine App testen, ich die folgende Fehlermeldung erhalten:

  

Datei konnte nicht geladen werden oder Montage   ‚Common.Logging, Version = 2.0.0.0,   Kultur = neutral,   PublicKeyToken = af08829b84f0328e‘oder   eine ihrer Abhängigkeiten. das liegt   Assembly manifest Definition tut   entspricht die Montagereferenz nicht.   (Ausnahme von HRESULT:   0x80131040) ":" Common.Logging,   Version = 2.0.0.0, Culture = neutral,   PublicKeyToken = af08829b84f0328e

War es hilfreich?

Lösung

Ich denke, man könnte die falsche Version von Common.Logging hat. Die aktuelle Version von Quartz.Net verwendet die Common.Logging Version 1.2, nicht 2.0. Wenn Sie 2.0 verwenden müssen, versuchen entweder neu zu kompilieren quartz.net mit der Version 2.0 von gemeinsamer Protokollierung oder try die Montage stattdessen umgeleitet wird.

Andere Tipps

Verwenden Sie diesen Beitrag die Anordnung debuggen Laden, um zu sehen, ob Sie die Ursache für die Diskrepanz genau bestimmen können.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top