【问题标题】:How to call webapi controller in class library project from webapi project如何从 web api 项目调用类库项目中的 web api 控制器
【发布时间】:2016-01-06 10:04:48
【问题描述】:

我有一个 webapi 项目和一个有 webapi 控制器的类库项目。

我从 ApiController 继承并确保 webapi 项目和类库项目都包含相同的 webapi 程序集。即

  <package id="Microsoft.AspNet.WebApi.Client" version="5.2.3" targetFramework="net45" />
  <package id="Microsoft.AspNet.WebApi.Core" version="5.2.3" targetFramework="net45" />

虽然我已将 System.web.http 程序集添加到类库项目中, 当我将 [RoutePrefix"")] 属性添加到类库项目中的控制器时,我得到“找不到类型或命名空间名称'RoutePrefix'..”

谁能帮助我完成这项工作,以便我可以使端点工作?

谢谢

【问题讨论】:

  • 尝试包含对 System.Web.Http 的引用,这是定义 RoutePrefixAttribute 的位置。
  • 是的,我已经添加了
  • 为了安全起见;您的源代码顶部是否有使用正确命名空间的语句?还是完全限定属性?
  • 我可以在卸载所有包并安装 Microsoft.WebApi.Core 5.2.3 包后添加 RoutePrefix 属性。但端点不工作。

标签: c# asp.net-web-api routing asp.net-web-api2


【解决方案1】:

i) 在我删除现有的 nuget 包并从包管理器控制台安装 Microsoft.AspNet.WebApi.Core -version 5.2.3 后,它终于工作了。我猜的问题是 system.web.http 版本指向 4.0.0 而不是 5.2.3

ii) 现在可以将 RoutePrefix 属性添加到类库项目中的 webapi 控制器

iii) 端点工作正常

【讨论】:

    猜你喜欢
    • 2018-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-03
    • 1970-01-01
    • 1970-01-01
    • 2020-04-19
    • 1970-01-01
    相关资源
    最近更新 更多