【问题标题】:ApiController and IHttpActionResultApiController 和 IHttpActionResult
【发布时间】:2016-05-09 21:53:50
【问题描述】:

我创建了一个基于 ASP.NET Web API 的应用程序并遵循以下教程: http://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api/action-results.

我正在尝试将固有的ApiController 类作为教程中的描述并实现IHttpActionResult 接口,但编译器抱怨说找不到它们的程序集。

我的问题,如何为ApiControllerIHttpActionResult 添加程序集?

更新 1

我通过 nuget 添加 Microsoft.AspNet.WebApi.Core 并显示错误消息

更新 2 错误消息

【问题讨论】:

  • 错误说明了什么?是否存在任何依赖错误?您可能想要使用特定版本的 WebApi.Core。我使用 5.2.3 版本,因为它与许多其他依赖项一起使用。
  • 尝试在你的启动文件中添加public void ConfigureServices(IServiceCollection services) services.AddMvc();

标签: c# asp.net


【解决方案1】:

您正在使用 ASP.NET Web API 2 的教程,但您选择的项目模板适用于 ASP.NET Core。这是两种不同的野兽。要遵循本教程,您应该从“ASP.NET 4.6.1”区域中选择“Web API”模板,或use a tutorial for ASP.NET Core

ASP.NET Core (previous called ASP.NET 5) 专为多平台开发而设计,使用 MVC6 运行。 official documentation 中有一个很好的概念概述。这是与这个问题相关的一个小sn-p:

在 ASP.NET 5 中,我们进行了许多架构更改, 使核心 Web 框架更加精简和模块化。 ASP.NET 5 是 不再基于 System.Web.dll,而是基于一组 细粒度且经过精心设计的 NuGet 包,可让您优化 让您的应用拥有您所需要的一切。

在 Core 中,所有控制器(包括 API 控制器)都继承自 Controller 基类。 DNXCORE50 不支持您尝试添加的程序集,因为它们不是跨平台的。

【讨论】:

  • 4.6.1和5有什么区别?
  • @zero_coding 我已经用更多信息更新了我的答案。 ASP.NET Core 不是 4.6.1 的延续,它是一个全新的框架。
  • 那么我应该使用 ASP.NET 5 还是 4.6.1?哪个面向未来?
  • @zero_coding 这取决于您的用例和需求。核心不是officially released yet。 4.6.1 将伴随我们很长时间,但 ASP.NET Core 是 ASP.NET 跨平台和基于云的开发的未来。
【解决方案2】:

将此添加到您的使用中:

using System.Web.Http;

另外,添加这个 nuget 包:

https://www.nuget.org/packages/Microsoft.AspNet.WebApi.Core/

在你的包管理器中运行它:

Install-Package Microsoft.AspNet.WebApi.Core

如果你想要一个特定的版本,也可以这样:

Install-Package Microsoft.AspNet.WebApi.Core -version 5.2.3

它经常将这个添加到你的 web.config 中:

  <dependentAssembly>
    <assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
  </dependentAssembly>

【讨论】:

    猜你喜欢
    • 2014-07-12
    • 2015-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-15
    • 2014-04-23
    • 2015-08-11
    • 1970-01-01
    相关资源
    最近更新 更多