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

Jon*_*han 9 c# asp.net-mvc xamarin

我有一个ASP.net MVC应用程序,它使用由xamarin应用程序共享的可移植类库.当我的Web应用程序立即启动时,它会抛出此错误:

 Method not found: 'Void Newtonsoft.Json.Serialization.DefaultContractResolver.set_IgnoreSerializableAttribute(Boolean)'.
Run Code Online (Sandbox Code Playgroud)

我正在使用Structure Map MVC nuget包,它工作正常,直到我引用了PCL库.

它在这行代码中出错:

GlobalConfiguration.Configuration.DependencyResolver = new StructureMapDependencyResolver(container);
Run Code Online (Sandbox Code Playgroud)

我认为它与PCL类和MVC有关,它们都引用了JSON.net.有想法该怎么解决这个吗?我最终重建了我的机器,以确保只有这个版本在GAC中而没有其他地方.

有任何想法吗

Age*_*t_K 34

当我从Scott Allen的伟大的Pluralsight课程中运行关于MVC4基础知识的练习文件时,我遇到了同样的问题.使用预发布开关更新Newtonsoft.Json对我不起作用.您必须重新安装WebApi包.在程序包管理器控制台中使用以下命令:

uninstall-package Microsoft.AspNet.WebApi
uninstall-package Microsoft.AspNet.WebApi.webhost
uninstall-package Microsoft.AspNet.WebApi.core
uninstall-package Microsoft.AspNet.WebApi.Client
uninstall-package Newtonsoft.Json

install-package Microsoft.AspNet.WebApi
Run Code Online (Sandbox Code Playgroud)

我首先想到,卸载Microsoft.AspNet.WebApi也会负责卸载webhost,核心和客户端 - 但这不起作用.然而,重新安装Microsoft.AspNet.WebApi可以提供正确版本的Newtonsoft.Json作为依赖程序集.

之后它完美地运作了.

希望这可以帮助.

  • 为我的旧MVC4应用程序工作,将最后一行更改为`install-package Microsoft.AspNet.WebApi -Version 4.0.30506` (5认同)

小智 9

我有同样的问题,最后通过运行解决

Update-Package Newtonsoft.Json –IncludePrerelease
Run Code Online (Sandbox Code Playgroud)

在包管理器控制台中.

它出现了我的所有项目都在最新版本,但在Clean/ReBuild问题解决后.


归档时间:

查看次数:

20207 次

最近记录:

11 年,7 月 前