项目间的json.NET程序包冲突引发set_IgnoreSerializableAttribute(Boolean)找不到的异常。

在一次程序设计中遇到了一个这样的问题:

  使用webAPI作为启动项目执行程序时,都能正常通过。但是使用winform项目作为启动程序启动时,每到调用接口的时候就会出异常。通过跟踪测试发现在掉API接口时报的异常,异常提示里面有关键词Json Serialization,又有找不到方法等字样。初步先假设是json版本问题,头脑里估计预想是现在用的版本缺少某个方法。我也不知道,乱想的。接着就对项目里的json包排查。

异常:

找不到方法:“Void Newtonsoft.Json.Serialization.DefaultContractResolver.set_IgnoreSerializableAttribute(Boolean)”

 排查:在管理NuGet中发现使用了两个不同版本的json.NET包,我就设置了一下,在所有项目里面都是用同一个,我选择了版本最高那一个。然后启动项目测试一下,问题已解决。

 

 

发布了36 篇原创文章 · 获赞 8 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq_35351282/article/details/86287559