我一直收到以下错误:
System.InvalidOperationException: Error loading Ninject component ICache
No such component has been registered in the kernel's component container.
使用以下NuGet包:
使用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
值得注意的是,我有两个内核。主内核在应用程序启动时创建,并在关闭时处理。我们在启动时使用的第二个内核几乎立即处理,因为它不再需要。那么这可能会导致这个问题吗?
答案 0 :(得分:3)
在我的情况下,这是因为我正在关注someone的System.Web.Http.Dependencies.IDependencyResolver
Ninject包装器,其中Dispose()
方法会在内核上调用dispose。
答案 1 :(得分:1)
事实证明这个问题是因为有两个内核。它们一定是冲突的,我没有确定原因并选择删除第二个内核。