- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在控制台应用程序中运行 Quartz(虽然我已经在 ASP.NET 应用程序中重现了行为)与远程 Quartz 服务器(通常的配置 - 客户端将线程设置为 0,远程服务器监听端口 555 等) .).我遇到的问题和这里一样Could not load job assembly error in Quartz.NET在这里 Quartz.Net Initializing Project .具体来说,在客户端调用 IScheduler.ScheduleJob() 时,我收到错误:
Could not load file or assembly 'SimpleJob.dll, Version...The located assembly's manifest definition does not match the assembly reference'
正如您在上面的两个 Stackoverflow 链接中看到的那样,问题是 Quartz 服务器不知道 IJob 类,而解决方案(引用自第二个链接):“...复制/将 [客户端/控制台应用程序的程序集/可执行文件] 粘贴到 Quart.NET 服务文件夹中......一旦你这样做,它将加载 [无论特定的 IJob 类是什么]......推荐的解决方案是......创建一个单独的 DLL对于每个 [job classes]...and...”(现在是我的措辞)从服务器项目中引用这些程序集。
我这样做了,但没有任何快乐。具体来说,我收到的第一个错误是找不到我的作业文件的程序集。那时我将客户端的程序集 (.exe) 复制到服务器的 bin 文件夹中,并添加了对该程序集的引用——不幸的是。然后我将我的工作类分解成一个单独的程序集并将该 .dll 复制到服务器的 bin 目录并添加对该程序集的引用 - 运气不好。最后,我复制了我工作的实际类文件 (.cs) 并将其包含在服务器服务器项目中,然后添加了一个引用 - 运气不好。
让我澄清一下“没有运气”是什么意思。将作业类的程序集添加到服务器项目后,我仍然收到“无法加载文件或程序集...”错误,但现在是:
Could not load file or assembly 'Quartz.dll, Version...The located assembly's manifest definition does not match the assembly reference'
此时错误是关于 Quartz.dll 的提示,这对我来说毫无意义,因为该 dll 在客户端和服务器的项目中(根据定义)都被引用,并且在它们各自的 bin 文件夹中。
我的下一步是运行 Process Monitor并捕获特定程序集加载失败的地方。没有快乐 - 搜索 SimpleJob.dll 和 Quartz.dll,并在这两种情况下都取得了成功。 (回想起来,我不认为文件监控在这里是相关的,因为从文件系统的角度来看,特定的 dll 被读取,但程序集不是由 .net 加载的。Process Monitor 不会看到它。)
最后我enabled assembly binding failure logging ,查看了生成的日志,但无法识别故障。
欢迎提出建议...
最佳答案
对于客户端和服务器,您是否将带有作业定义的程序集与 quart.dll 放在同一文件夹中?它们还必须是两边完全相同的版本。
关于.net - Quartz.NET 调度程序 - 在远程服务器上提交作业时出现错误 "Could not load file or assembly ' SimpleJob ...“,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31546290/
我是一名优秀的程序员,十分优秀!