如何在控制台应用程序中使用Quartz.net [显示错误]?

Its*_*Out 5 c# asp.net scheduling quartz.net

我正在使用Quartz.Net来安排任务.我曾尝试过明智的做法.

启动了visual studio控制台应用程序并添加了两个引用,即Quartz.dll和Common.Logging.dll以及System.Web.Services;

然后我为链接http://simplequartzschedulerincsharp.blogspot.com/上提供的正常任务编写了一点代码 (他们声称它的工作正常)

但是当我试图运行该程序时,它给出的错误是"缺少对Quartz.all的引用",但我已经添加了这个.

为什么会这样?

还有一点我注意到需要安装Quartz.Server.Service才能使用它等.

请指导我,请给我一个简单但有效的例子并指出我错过了什么?

Răz*_*nda 12

网站上的示例可能已过时.

我对使用的类进行了一些修改,现在运行:

using System;
using Quartz;
using Quartz.Impl;
using Quartz.Impl.Triggers;
// Necessary references:
// Quartz dll
// Common.Logging
// System.Web
// System.Web.Services

namespace QuartzExample
{
    class Program
    {
        private static IScheduler _scheduler;

        static void Main(string[] args)
        {
            ISchedulerFactory schedulerFactory = new StdSchedulerFactory();
            _scheduler = schedulerFactory.GetScheduler();
            _scheduler.Start();
            Console.WriteLine("Starting Scheduler");

            AddJob();
        }

        public static void AddJob()
        {
            IMyJob myJob = new MyJob(); //This Constructor needs to be parameterless
            JobDetailImpl jobDetail = new JobDetailImpl("Job1", "Group1", myJob.GetType());
            CronTriggerImpl trigger = new CronTriggerImpl("Trigger1", "Group1", "0 * 8-17 * * ?"); //run every minute between the hours of 8am and 5pm
            _scheduler.ScheduleJob(jobDetail, trigger);
            DateTimeOffset? nextFireTime = trigger.GetNextFireTimeUtc();
            Console.WriteLine("Next Fire Time:" + nextFireTime.Value);
        }
    }

    internal class MyJob : IMyJob
    {
        public void Execute(IJobExecutionContext context)
        {
            Console.WriteLine("In MyJob class");
            DoMoreWork();
        }

        public void DoMoreWork()
        {
            Console.WriteLine("Do More Work");
        }
    }

    internal interface IMyJob : IJob
    {
    }
}
Run Code Online (Sandbox Code Playgroud)