我得到的錯誤:衝突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中的重定向 –