2016-11-05 18 views
0

我得到這一行的錯誤說:Quartz.NET錯誤出現每次我用它時

無法隱式轉換類型「System.Threading.Tasks.Task」到「Quartz.IScheduler」。存在明確的轉換(您是否缺少演員?)

如何解決它;我不明白?請幫忙!

IScheduler scheduler = StdSchedulerFactory.GetDefaultScheduler();

public static void Start() 
    { 
     try 
     { 
      //Construct scheduler factory 
      //IScheduler scheduler = schedulerFactory.GetScheduler(); 

      // IScheduler scheduler = StdSchedulerFactory.GetDefaultScheduler(); 

      IScheduler scheduler = StdSchedulerFactory.GetDefaultScheduler(); 
      scheduler.Start(); 

      IJobDetail job = JobBuilder.Create<HelloJob>() 
       .WithIdentity("jobName", "jobGroup") 
       .Build(); 

      ITrigger trigger = TriggerBuilder.Create() 
       .WithSimpleSchedule(s => s.WithIntervalInSeconds(60).RepeatForever()) 
       .StartNow() 
       .Build(); 

      scheduler.ScheduleJob(job, trigger); 

      // scheduler.Start(); 

     } 

     catch (SchedulerException se) 
     { 
      //Console.WriteLine(se); 
     } 
    } 
} 

public class HelloJob : IJob 
{ 
    private TBPESContext db = new TBPESContext(); 
    public void Execute(IJobExecutionContext context) 
    { 
     var AuthorName = from twitterAccount in db.Twitter_Account 
         from c in twitterAccount.Courses 
         select twitterAccount.Author_Name; 

     foreach (var item in AuthorName) 
     { 
      TweetCrawler.SaveTweets(item); 
     } 


     throw new NotImplementedException(); 
    } 
} 
+0

did you try:'ISchedulerFactory schedulerFactory = new StdSchedulerFactory(); Scheduler = schedulerFactory.GetScheduler();' – Rabban

+0

是否有可能有另一個名爲StdSchedulerFactory的類,它有一個名爲GetDefaultScheduler的方法,該方法返回一個Task?如果是這樣,請嘗試'IScheduler scheduler = Quartz.Impl.StdSchedulerFactoryy.GetDefaultScheduler();' – sgmoore

回答

1

我碰到了同樣的問題。當我從Manage NuGet Packages中加載石英時,它給了我Version:3.0.0-alpha2(預售)。這導致了你目前看到的錯誤。我在https://www.nuget.org/packages/Quartz/2.3.3發現了一個早期版本,按照指示安裝它,重建了我的程序,它的工作方式應該如此。

相關問題