【问题标题】:Ninject Error activating HttpConfigurationNinject 激活 HttpConfiguration 时出错
【发布时间】:2017-01-01 02:34:27
【问题描述】:

我已将 NuGet 包:Ninject.Web.WebApi.WebHost 添加到我的 ASP.NET Web API 项目中,但是,一旦我添加了所有 DI 绑定,就会收到以下错误消息:

激活 HttpConfiguration 时出错 有多个匹配的绑定可用。匹配绑定:
1) 从 HttpConfiguration 绑定到方法
2) 从 HttpConfiguration 绑定到方法
激活路径:1) 请求HttpConfiguration
建议: 1)确保您已经定义了一个绑定 HttpConfiguration 只有一次。

这些是与 Ninject.Web.WebAPI.WebHost 一起添加的 NuGet 包:

  1. Ninject v. 3.2.2
  2. Ninject.Web.Common v. 3.2.3
  3. Ninject.Web.Common.WebHost v. 3.2.3
  4. Ninject.Web.WebApi v. 3.2.4
  5. Ninject.Web.WebApi.WebHost v. 3.2.4

我不知道如何解决这个问题,因为我能够让它在以前的项目中运行,但这个项目似乎不管出于何种原因都无法运行。

我也经常在所有这些版本的程序集中遇到此错误消息:

确保控制器有一个无参数的公共构造函数

有时我可以使用旧版本的 Ninject 程序集正确构建项目,但我经常收到错误消息:

序列不包含任何元素

我发现解决此错误的唯一方法是删除 bin 目录并重新构建,但我不明白为什么我每次都必须删除 bin 目录才能让 Ninject 正常工作。

请告知如何让 Ninject 与 Web API v.2.2 一起正常工作

【问题讨论】:

  • 你有没有想过这个问题。在我的 ninject 中,有一次我看到了两个 HttpConfiguration 实例。

标签: asp.net-web-api2 ninject


【解决方案1】:

我通过here找到了解决方案。

简而言之,解决方案是将所有 Ninject 包都设置为相同的版本。对 HttpConfiguration 的东西进行了改组,如果你有不同版本的不同 Ninject 包,它可以存在于多个地方。将所有内容升级到相同版本应该可以解决此问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-24
    • 2017-06-06
    相关资源
    最近更新 更多