Quartz中的奇怪错误:找不到Quartz.XmlSerializers

Thi*_*tes 3 c# topshelf quartz.net-2.0

我在Quartz.net中收到以下错误

显示名称为"Quartz.XmlSerializers"的程序集无法加载到ID为1的AppDomain的"LoadFrom"绑定上下文中.失败的原因是:System.IO.FileNotFoundException:无法加载文件或程序集'Quartz.XmlSerializers ,Version = 2.0.1.100,Culture = neutral,PublicKeyToken = null'或其依赖项之一.该系统找不到指定的文件.

这是非常奇怪的,因为Quartz.XmlSerializers在我正在使用的任何代码中都不存在.它不在Quartz源代码,我的代码中,也不是我能说的最好的依赖项.它只发生在我调试我的项目时,但不是在我下载Quartz 2.0.1源代码并从那里运行服务器时.

我使用topshelf作为服务安装库.

它发生在Quartz源的XMLSchedulingDataProcessor.cs的第226行的反序列化期间.

// deserialize as object model
System.Xml.Serialization.XmlSerializer xs = new System.Xml.Serialization.XmlSerializer(typeof(QuartzXmlConfiguration20));
Run Code Online (Sandbox Code Playgroud)

解决这个问题的任何线索都会有所帮助,因为我被这个错误所困扰.

Dan*_*ant 5

在使用XmlSerialization的应用程序中,当应用程序查找缓存的序列化程序集时,您可以在外部代码中获得第一次机会异常.您可以在此问题中找到更多信息.