我有一个 Web API,其 Microsoft.AspNet.WebApi.Client
版本为 5.1.2已安装软件包。
我正在尝试从 ASP.NET MVC 应用程序访问 API,该应用程序也安装了相同版本的包。
但是,在 Web API 项目的 Global.asax 中,在下面的行中,我收到以下异常:
WebApiConfig.Register(GlobalConfiguration.Configuration);
尝试通过方法“System.Web.Http.HttpConfiguration..ctor(System.Web.Http.HttpRouteCollection)”访问方法“System.Web.Http.HttpConfiguration.DefaultFormatters()”失败。嗯>
最佳答案
我发现当您有多个项目指向不同的 .net 版本时,会发生此错误。
例如,如果您有一个针对 .net 4.5 的 Web API 项目和一个针对 .net 4.5.3 的单元测试项目,那么默认设置似乎意味着 nuget 可能有一天会默默地将 .net 4.5 项目引用更新为不兼容的版本。打开 Visual Studio 并导致您的 Web API 项目失败,并出现深奥的“尝试通过方法 'HttpConfiguration..ctor(HttpRouteCollection)' 访问方法 'HttpConfiguration.DefaultFormatters()' 失败”错误。
为避免出现错误,请将较高的 .net 版本放回新项目以匹配 Web API 项目 - 在此示例中,右键单击单元测试项目,单击属性,然后将目标框架更改为 .net Framework 4.5。
关于asp.net - 尝试通过方法 'HttpConfiguration..ctor(HttpRouteCollection)' 访问方法 'HttpConfiguration.DefaultFormatters()' 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24481173/