Asp.net Ninject MVC 3并解析构造函数或属性以外的依赖项

Asp.net Ninject MVC 3并解析构造函数或属性以外的依赖项,asp.net,asp.net-mvc-3,ninject.web.mvc,Asp.net,Asp.net Mvc 3,Ninject.web.mvc,我有一个MVC Web项目、基础设施项目、服务项目和数据项目的解决方案。我在VisualStudio中从NuGet安装了ninject。它在我的Web项目中创建了一个名为“App_Start”的文件夹,并将Ninject代码文件放在其中,我的应用程序运行完全正常 我的问题是,我需要解决web项目外部的依赖关系,该依赖关系是属性或构造函数 我在我的服务项目中的一个课程中尝试过这一点: var m_customerService = DependencyResolver.Current.Ge

我有一个MVC Web项目、基础设施项目、服务项目和数据项目的解决方案。我在VisualStudio中从NuGet安装了ninject。它在我的Web项目中创建了一个名为“App_Start”的文件夹,并将Ninject代码文件放在其中,我的应用程序运行完全正常

我的问题是,我需要解决web项目外部的依赖关系,该依赖关系是属性或构造函数

我在我的服务项目中的一个课程中尝试过这一点:

    var m_customerService = DependencyResolver.Current.GetService(typeof(ICustomerService));
每次返回null。例如,当我在HomeController中尝试完全相同的东西时,它会返回我所期望的结果

我怀疑这与项目如何相互引用有关。我的Web项目显然引用了所有其他项目。我考虑将Ninject启动代码移动到我的基础设施项目中,这样我就可以在任何地方访问它。这样做有意义吗?有没有其他人有过这个问题,或者我缺少了什么


这方面的任何帮助都会很棒。谢谢。

我已经解决了这个问题。我将Ninject移动到了另一个项目,该项目跨越了我的解决方案中的所有项目,我的服务类现在似乎工作正常。

您需要进一步解释“web项目之外”的含义。我的意思是,默认情况下,当我安装Ninject mvc 3 NuGet包时,它会将其放在我的解决方案的网站项目中。在我的解决方案中,是否可以将ninject移动到另一个项目?这能解决DependencyResolver为null的问题吗?