ASP.NET MVC加载Ninject组件ICache时出错

时间:2014-01-24 06:09:13

标签: ninject.web.mvc

我一直收到以下错误:

System.InvalidOperationException: Error loading Ninject component ICache
No such component has been registered in the kernel's component container.

使用以下NuGet包:

  • Ninject 3.0.1.10
  • Ninject.MVC3 3.0.0.6
  • Ninject.Web.Common 3.0.0.7
  • ASP.NET MVC 4.0.30506.0

使用WebActivator和Ninject Bootstrapper(默认设置)设置Binding。

看来这个错误曾经是Ninject 2.2.1.0 and Ninject.MVC3 2.2.1.0 were released之前的一个问题,这篇文章很相似,但我没有使用Web.Api Error loading Ninject component ICache

值得注意的是,我有两个内核。主内核在应用程序启动时创建,并在关闭时处理。我们在启动时使用的第二个内核几乎立即处理,因为它不再需要。那么这可能会导致这个问题吗?

2 个答案:

答案 0 :(得分:3)

在我的情况下,这是因为我正在关注someoneSystem.Web.Http.Dependencies.IDependencyResolver Ninject包装器,其中Dispose()方法会在内核上调用dispose。

答案 1 :(得分:1)

事实证明这个问题是因为有两个内核。它们一定是冲突的,我没有确定原因并选择删除第二个内核。