在一次程序设计中遇到了一个这样的问题:
使用webAPI作为启动项目执行程序时,都能正常通过。但是使用winform项目作为启动程序启动时,每到调用接口的时候就会出异常。通过跟踪测试发现在掉API接口时报的异常,异常提示里面有关键词Json Serialization,又有找不到方法等字样。初步先假设是json版本问题,头脑里估计预想是现在用的版本缺少某个方法。我也不知道,乱想的。接着就对项目里的json包排查。
异常:
找不到方法:“Void Newtonsoft.Json.Serialization.DefaultContractResolver.set_IgnoreSerializableAttribute(Boolean)”
排查:在管理NuGet中发现使用了两个不同版本的json.NET包,我就设置了一下,在所有项目里面都是用同一个,我选择了版本最高那一个。然后启动项目测试一下,问题已解决。