找不到方法:'Void Newtonsoft.Json.Serialization.DefaultContractResolver.set_IgnoreSerializableAttribute(Boolean)'(webapi和PCL)

dbr*_*ing 12 json.net portable-class-library asp.net-web-api

类似于这个被标记为重复的问题(所以我无法直接回答).

我有一个webapi项目,它引用了一个PCL项目.我间歇性地得到了这个DefaultContractResolver错误.

我尝试了其他问题的所有故障排除步骤,主要涉及卸载和重新安装nuget软件包.没有帮助.

dbr*_*ing 39

问题的根本原因是我的webapi项目和我的PCL项目都引用了Newtonsoft.Json.dll.在Visual Studio构建中似乎存在某种竞争条件,因此如果最后构建PCL项目,它会将其可移植版本的Newtonsoft.Json.dll复制到我的webapi项目的\ bin目录中.

解决方案只是进入我的PCL项目的参考,并关闭Newtonsoft.Json.dll的"复制本地"

  • 这有效; 一直在杀我 谢谢. (5认同)