새 MVC3 프로젝트를 만들고 F5를 누르고 샘플 페이지를 보았습니다.
그런 다음 NuGet을 사용하여 Ninject.MVC 확장 을 얻었습니다 . Ninject 문서, How To Setup an MVC3 Application 에 따라 global.asax를 수정했습니다 .
public class MvcApplication : NinjectHttpApplication
{
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new HandleErrorAttribute());
}
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index",
id = UrlParameter.Optional });
}
protected override IKernel CreateKernel()
{
var kernel = new StandardKernel();
kernel.Load(Assembly.GetExecutingAssembly());
return kernel;
}
protected override void OnApplicationStarted()
{
base.OnApplicationStarted();
AreaRegistration.RegisterAllAreas();
RegisterGlobalFilters(GlobalFilters.Filters);
RegisterRoutes(RouteTable.Routes);
}
}
이제 앱을 실행하면 다음 예외를 제외하고 노란색 죽음 화면이 표시됩니다.
InvalidOperationException-시퀀스에 요소가 없습니다.
System.Linq.Enumerable.Single (...)에서
Ninject.Web.Mvc.Bootstrapper.Initialize (...) 67 행.
그리고 확실히 그 파일의 67 행 은 .Single ()을 호출하여 예외를 던집니다.
내가 뭘 잘못하고 있죠?