3

Windowsサービス内でQuartz.netを使用しています。現在、トリガーは起動していません。ログを使用して理由を調べたいと思います。

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-サードパーティのバイナリ/dllが配置される場所

私のWindowsサービスプロジェクトには、Quartz(C:\ CompanyName \ libフォルダー内)への参照があります。

Common.Logging.Log4net.dllへの参照も追加しました

アプリをテストすると、次のエラーが発生します。

ファイルまたはアセンブリ'Common.Logging、Version = 2.0.0.0、Culture = neutral、PublicKeyToken=af08829b84f0328e'またはその依存関係の1つを読み込めませんでした。見つかったアセンブリのマニフェスト定義がアセンブリ参照と一致しません。(HRESULTからの例外:0x80131040) ":" Common.Logging、Version = 2.0.0.0、Culture = neutral、PublicKeyToken = af08829b84f0328e

4

2 に答える 2

6

Common.Logging のバージョンが間違っている可能性があります。現在のバージョンの Quartz.Net は、Common.Logging バージョン 2.0 ではなく 1.2 を使用しています。2.0 を使用する必要がある場合は、Quartz.net を 2.0 バージョンの共通ログで再コンパイルするか、代わりにアセンブリをリダイレクトしてみてください。

于 2010-02-16T02:21:19.837 に答える
0

この投稿を使用して、アセンブリの読み込みをデバッグし、不一致の原因を特定できるかどうかを確認してください。

于 2010-02-11T23:51:05.190 に答える