JSON.NET序列化跟踪 - 从程序集加载类型时出错 - ITraceWriter

时间:2013-04-22 17:16:34

标签: c# serialization json.net tracing

我正在调试一个使用JSON.NET进行序列化的C#类库。反序列化期间存在转换错误,因此我使用示例代码http://james.newtonking.com,版本11注释(日期为2012年11月)实现了序列化跟踪。我的代码:

ProcessPlan p = ProcessPlan.TestPlan();
ITraceWriter traceWriter = new MemoryTraceWriter();

JsonConvert.SerializeObject(p, new JsonSerializerSettings { TraceWriter = traceWriter });

Console.WriteLine(traceWriter);

当此代码运行时,我收到以下消息:

CPlanAppV9.UnitTest.TestRepository.SaveLoad: System.TypeLoadException:无法从程序集“Newtonsoft.Json,Version = 4.5.0.0,Culture = neutral,PublicKeyToken = 30ad4fe6b2a6aeed”中加载“Newtonsoft.Json.Serialization.ITraceWriter”类型。

项目References中引用的DLL声称其版本为5.0.3,这就是我想要的。我无法在上面的错误消息中获取Version属性来显示除4.5.0.0之外的任何内容,尽管它可能是指Framework版本号。

我删除了对库的所有引用,清理了解决方案,重新构建,然后通过NuGet重新安装了5.0.3软件包,但是“类型加载”问题仍然存在,错误消息中的4.5.0.0也是如此参考条目属性。我确实有其他项目,现在已经完成,使用早期版本构建,所以这可能是DLL Hell的风格。

0 个答案:

没有答案