2011-06-29 3 views
9

私は、スタンドアロンのWindowsサービスとしてQuartz.NETスケジューラを使用していますが、ASP.NETアプリケーションではIジョブをスケジュールしています。別のジョブアセンブリがあります。次のエラーが発生します。Quartz.NETでジョブアセンブリエラーをロードできませんでした

ファイルまたはアセンブリ 'AV.Scheduler.Jobs、Version = 1.0.0.0、Culture = neutral、PublicKeyToken = null'、または依存関係。システムは、指定されたファイルを見つけることができません。ここで

は私が最後の行でエラーになってる私のコード、

 JobDetail jobDetail = new JobDetail("testJob", null, typeof(TestJob)); 

     //created trigger which will fire every minute starting immediately 
     SimpleTrigger trigger = new SimpleTrigger("testTrigger", 
           null, 
           DateTime.UtcNow, 
           null, 
           1, 
           TimeSpan.FromMinutes(1)); 

     scheduler.ScheduleJob(jobDetail, trigger); 

です。

+0

あなたがデバッグモードでいますか?これが起こっている場所:servicesまたはasp.net? – LeftyX

+0

コンソールアプリケーションから、私はQuartz Serverを起動しています。asp.netアプリケーションから、私は仕事をスケジューリングしています。この例外は、asp.net Webページで発生しています。私はbinフォルダーの下にexeファイルを直接起動してコンソールアプリケーションを起動しています。コンソールアプリケーションは、うまく動作しているときのテストアプリケーションです。サービスに移動します。 – VJAI

+0

スケジューラがジョブをトリガしているコンソールアプリケーションにジョブアセンブリへの参照を追加することで、この問題を解決しました。ご協力いただきありがとうございます。 – VJAI

答えて

5

私はすでに(コメントで)回答していますが、今後の参考になるようにここに回答を追加しています。

Quartzサービスがカスタムジョブを実行するには、何らかの形でジョブアセンブリを見つける必要があります。 1つの解決策は、提案したように、Quartzサービスを開始および停止するコンソールアプリケーションへの参照として追加することです。ただし、コンソールアプリケーションが常に存在するとは限りません。この場合、Quartz.dllがあるフォルダ(サービスで使用されているdllのバージョン)と同じフォルダにジョブアセンブリを配置する必要があります。

Quartz.Netの優れたリソースはhttp://jvilalta.blogspot.com/です。このトピックに関する特定の関心から、次のブログの記事です:

+0

を行うには正しいことでしたまたはアセンブリ\ 'Enterprise.Appointments.Exchange \'またはその依存関係の1つ。システムは、指定されたファイルを見つけることができません。 ---> System.IO.FileNotFoundException:ファイルまたはアセンブリ\ 'Enterprise.Api.Appointments.Exchange \'またはその依存関係の1つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。 マインはwebapiであり、既に参照されているEnterprise.Appointments.Exchange.Dtoです。 – Vardhan

関連する問題