如何从嵌入式DLL中解析时正确使用JSON.NET?
我在Visual Studio中编写C#代码。 我在项目中添加了嵌入式DLL,我正在动态加载程序集。 我们使用JSON.NET来序列化和反序列化类型为Context.JobDataObj
对象,该对象在其中一个嵌入式DLL中定义,并在各种程序之间传递DLL。
不幸的是,每当我尝试反序列化时,我都会收到以下错误:
在JSON中指定的类型’Context.JobDataObj,HPMContext,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null’与’Context.JobDataObj,HPMContext,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null’不兼容。
我查了JSON.NET源代码中的错误,错误是指IsAssignableFrom
返回false
…当我将DLL移出项目时,seralization和deseralization就像一个魅力。
更新:
我已经设法引入JSON.NET源代码并对其进行调试……显然,它是否使用嵌入式DLL之间的唯一区别是IsAssignableFrom的返回值:
if(objectType!= null &&!objectType.IsAssignableFrom(specifiedType))
objectType
在各种方式上都与specifiedType
相等,我检查了它的所有程序集,类型,接口,成员等等。有谁知道IsAssignableFrom
如何确定它的值?