我得到的错误:冲突Newtonsoft.Json DLL版本signalR +的WebAPI
无法加载文件或程序集“Newtonsoft.Json”或它 的一个依赖。清单定义与装配 参考不匹配。
将WebApi控制器类添加到我的ASP.NET MVC项目后。我的项目中也有SignalR。两者都使用Newtonsoft.Json,但似乎它们没有引用相同的版本。
SignalR使用,并与6.0.8版本的作品,而错误告诉我,MapHttpRoute:
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
RouteTable.Routes.MapHttpRoute("DefaultApi", "api/{controller}/{id}");
}
尝试加载4.5版本。
我看到这篇文章SignalR & WebApi - colliding Newtonsoft.Json references
,但我不知道怎么告诉的WebAPI对6.0.8版本点。
链接的问题是*很老*并不适用。添加相关的NuGet包,而不是添加对组件的引用。 NuGet将在您安装软件包时解决所有冲突 –
当您说添加相关的NuGet软件包时,是指通过NuGet安装Newtonsoft.Json?因为我已经试过了这个版本,并且用版本9.0.0更新了它,并且SignalR和WebApi都崩溃了,因为它们找不到组件 – Morgan
Json.NET和SignalR。 SignalR本身是另一个NuGet包。首先尝试一个干净的项目,否则你将不得不删除任何你已经添加到app.config中的重定向 –