繁体   English   中英

Quartz.Net初始化项目

[英]Quartz.Net Initializing Project

我是Quartz.Net的新手,我一直在按照教程完成我的第一份工作。 我遵循每一步,从零开始3次,但我无法使其发挥作用。 当我在Visual Studio上运行项目时,我从cmd获取此消息:

Failed: Could not load file or assembly: 'HelloWorldDotNet, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.

在Visual Studio输出中,我得到:

'HelloWorldQuartzDotNet.vshost.exe'(托管(v4.0.30319)):已加载'C:\\ Windows \\ Microsoft.Net \\ assembly \\ GAC_MSIL \\ System.Configuration \\ v4.0_4.0.0.0__b03f5f7f11d50a3a \\ System.Configuration.dll',跳过加载符号。 模块已经过优化,调试器选项“Just My Code”已启用。 找不到配置部分 - 抑制日志输出'HelloWorldQuartzDotNet.vshost.exe'(托管(v4.0.30319)):已加载'C:\\ Windows \\ Microsoft.Net \\ assembly \\ GAC_MSIL \\ System.Runtime.Remoting \\ v4.0_4.0.0 .0__b77a5c561934e089 \\ System.Runtime.Remoting.dll'mscorlib.dll中出现'System.IO.FileNotFoundException'类型的第一次机会异常

我无法理解mscorlib.dll是什么...我试图搜索它,我无法到达任何地方。 我在Windows 8上使用最新版本的Quartz.Net 2.2.1。

下载项目并按照分步教程后,我在调试器中花了一些时间后发现它有问题。 因此,教程将从客户端的角度指导您使用Quartz.NET ,并且没有任何问题。 代码正在建设中,一切都像魅力一样。 问题出在项目的服务器端,并且您获得的错误是从运行Quartz.NET服务器实现的服务发送的。 抛出异常的行是:

// Line 40 | ScheduleJob.cs
var schedule = schd.ScheduleJob(job, trigger);

这里发生的事情是调度程序被告知实现IJob接口的HelloWorldJob类的名为WriteHelloToConsole新作业。 一旦服务器收到此信息,他就会尝试在他的应用程序域中找到该DLL(这里有问题)。 但是,Quartz.NET服务器域(文件夹)中没有HelloWorldJob ,因为您已直接从SourceForge服务器下载它。 这就是你无法加载文件或程序集的原因

解决方案很简单,但不推荐,但本教程足够。 您只需将HelloWorldQuartzDotNet.exe复制/粘贴到Quart.NET服务文件夹中,然后从Windows Services启动/停止Windows Services 执行此操作后,它将在Quartz.NET服务器应用程序域中加载HelloWorldJob类(以及HelloWorldQuartzDotNet.exe中的其他类)。

其他项目的推荐解决方案 ,特别适用于生产。 为每个人创建单独的DLL,因此一个用于IJob类的DLL和用于Quartz.NET单独DLL。 添加对客户端的引用并将DLL复制/粘贴到服务。 通过这种方式,您可以将所有内容分离,并获得可维护的解决方案。

如果您需要有关.NET应用程序域如何工作的更多信息,可以从此链接获取它。


注意:使用Quartz .NET开始/学习/玩的最佳方法是使用他们的文档。 有一个方便的教程,介绍如何设置从小型控制台应用程序到Windows服务的所有内容。 我已经多次实现它,只使用文档。

Quartz.NET

我愿意为任何特定问题提供帮助。

Mscorlib.dll是一个包含.NET框架核心功能的类库,它显然让你知道它无法通过抛出FileNotFoundException找到HelloWorldDotNet程序集...

确保HelloWorldDotNet程序集构建正常。 检查Visual Studio中的StartUp项目是什么,并确保它是正确的并且引用了此程序集。 检查项目中的所有引用...

检查解决方案属性 你有没有选中优化代码复选框? 尝试取消选中它然后编译并运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM