Ninject错误激活HttpConfiguration

时间:2016-08-24 19:59:54

标签: asp.net-web-api2 ninject

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

  

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

Ninject Error

这些是与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
  6. 我不知道如何解决这个问题,因为我能够在以前的项目中使用它,但是这个项目似乎无论出于何种原因都没有工作。

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

      

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

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

      

    序列不包含任何元素

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

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

1 个答案:

答案 0 :(得分:0)

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

简而言之,解决方案是将所有Ninject包都放到同一版本中。 HttpConfiguration的东西很乱,如果你有不同版本的不同Ninject包,它可以存在于多个地方。将所有内容升级到同一版本应解决此问题。