Я - полностью новичок с Ninject
и я пытался следовать учебному руководству Shiju Varghese в его сообщении в блоге о DI.
Я действительно добавлял ссылку ninject.dll и Ninject.Web.Mvc.dll Однако, я застрял, поскольку Visual Studio не может разрешить функциональный RegisterAllControllersIn....
protected override void OnApplicationStarted()
{
AreaRegistration.RegisterAllAreas();
RegisterRoutes(RouteTable.Routes);
// RegisterAllControllersIn could not be found!!
RegisterAllControllersIn(Assembly.GetExecutingAssembly());
}
Я использую Visual Studio 2010 Prof
, .Net 4
, MVC2
, Ninject 2.0.0.0 / 2.0.1.0 и расширение Ninject Web.mvc
RegisterAllControllersIn
находится в Ninject.Web.MvcNinjectHttpApplication
Вы, вероятно, не наследуете свое приложение / глобальный класс MVC из MvcApplication
[вместо HttpApplication
или подобное].
Лучший способ поиска подобных вещей - вставить MVC, Ninject и Ninject.MVC в Reflector и выполнить поиск по F3
На основании README для ninject.web.mvc кажется, что строка
RegisterAllControllersIn (..)
необходима только для ASP.NET MVC 1