我在asp.net web api项目中使用ninject并且已经开始接收这个间歇性的ninject错误:
“加载Ninject组件ICache时出错 没有在内核的组件容器中注册此类组件。“
我正在使用:
他们都被带入我的项目NuGet我在IocConfig.RegisterIoc中加载我的模块并且没有做任何其他更改或调整。
它可能不相关但问题开始发生在我开始将IKernel注入我的一个构造函数的同时。关于“特殊解析器”,我没有为此设置约束。
我在这里已经阅读了许多类似的问题:
Ninject + "Error loading Ninject component ICache"
Ninject and ChildKernel in MVC3 project: "Error loading Ninject component ICache"
Randomly-Occurring Ninject Exception: "Error loading Ninject component ICache"
虽然在每种情况下OP都有与我相同的错误,但解决方案并不合适 - 我没有创建子内核,而且我没有使用ninject的错误版本。
答案 0 :(得分:5)
找到解决方案并想到我会分享。
问题是我正在使用Ninject.MVC3,这似乎是Web-API的错误包。
相反,我需要使用Ninject.Web.WebApi-RC包,如本文所述:
http://www.eyecatch.no/blog/2012/06/using-ninject-with-webapi-rc/
我遵循的步骤是