asp.net - 尝试通过方法 'HttpConfiguration..ctor(HttpRouteCollection)' 访问方法 'HttpConfiguration.DefaultFormatters()' 失败

标签 asp.net asp.net-mvc asp.net-web-api

我有一个 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/

相关文章:

asp.net - BundleTransformer 减少提示 "Could not find a factory, that creates an instance of the JavaScript engine"

c# - 从 Azure 数据湖下载文件

javascript - 如何使用 htmlhelpers 或 JavaScript 从 URL 获取路由值?

.net - 如何在 MVC 中返回 XML 字符串作为操作结果

asp.net - 访问Web API方法时404 Not Found

c# - 在基于 .Net 4.6 的 Web Api 2 中使用 System.IdentityModel.Tokens.Jwt 5.0.0.127 的异常

javascript - 发布.net core 2.0网站时出现HTTP 500

asp.net - 保留文件上传控件中的值

asp.net - .NET Signalr MapConnection 已过时?

c# - 使用 JSON 和 JQuery 将数组发布到 C# Web Api 后端