我正在使用Quartz.NET调度程序作为独立的Windows服务,而从ASP.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 :(得分:6)
虽然已经回答(在评论中),但我在这里添加了一个答案供将来参考。
为了让Quartz服务执行您的自定义作业,它需要能够以某种方式找到作业程序集。正如您所建议的那样,一种解决方案是将其添加为启动和停止Quartz服务的控制台应用程序的引用。但是,控制台应用程序并不总是存在。如果是这种情况,则需要将作业程序集放在Quartz.dll所在的文件夹中(服务使用的dll版本)。
Quartz.Net的优秀资源是http://jvilalta.blogspot.com/。以下博客文章特别关注此主题: