Ho creato un nuovo progetto MVC3, ho premuto F5, ho visto la pagina di esempio.
Quindi ho usato NuGet per ottenere l' estensione Ninject.MVC . Ho modificato il mio global.asax in base alla documentazione Ninject, How To Setup an MVC3 Application :
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);
}
}
Ora, quando eseguo l'app, ottengo la schermata gialla della morte con la seguente eccezione:
InvalidOperationException: la sequenza non contiene elementi.
presso System.Linq.Enumerable.Single (...)
in Ninject.Web.Mvc.Bootstrapper.Initialize (...) riga 67.
E abbastanza sicuro, la riga 67 di quel file chiama .Single (), generando così l'eccezione.
Che cosa sto facendo di sbagliato?