我有一个Web,它安装了5.1.2版本的Microsoft.AspNet.WebApi.Client包。
我正在尝试从一个ASP.NET MVC应用程序访问API,该应用程序也安装了相同版本的包。
但是,在Web项目的Global.asax中,在下面的一行中,我得到了以下例外:
WebApiConfig.Register(GlobalConfiguration.Configuration);方法'System.Web.Http.HttpConfiguration..ctor(System.Web.Http.HttpRouteCollection)‘试图访问方法'System.Web.Http.HttpConfiguration.DefaultFormatters()’失败。
发布于 2014-09-26 06:54:50
我发现,当您有多个指向不同.net版本的项目时,就会发生此错误。
例如,如果您有一个针对Web 4.5的Web项目和一个针对'HttpConfiguration..ctor(HttpRouteCollection)‘4.5.3的单元测试项目,那么默认设置似乎意味着有一天当您打开visual时,nuget可能会悄悄地将.net 4.5项目引用更新为不兼容的版本,并导致您的Web项目因recondite方法.net访问方法’HttpConfiguration.DefaultFormatters()失败‘错误而失败。
为了避免错误,将更高的.net版本拖回到新项目上以匹配Web项目--在本例中,右键单击单元测试项目,单击属性,然后将目标框架更改为.net Framework4.5。
发布于 2015-12-01 16:36:01
在我的例子中,这是Microsoft.AspNet.WebApi.Client和Microsoft.AspNet.WebApi.Core版本之间的差异,我试着将两者更新到相同的版本中,并且成功了。
发布于 2017-01-16 14:06:59
在我的例子中,这个问题在我安装Microsoft.AspNet.WebApi.Core时也得到了解决。因此,三个库应该呈现并协调(卸载/安装) Microsoft.AspNet.WebApi.Client、Microsoft.AspNet.WebApi.Core和Newtonsoft.json
https://stackoverflow.com/questions/24481173
复制相似问题