J'ai créé un nouveau projet MVC3, j'ai frappé F5, j'ai vu la page d'exemple.
Ensuite, j'ai utilisé NuGet pour obtenir l' extension Ninject.MVC . J'ai modifié mon global.asax conformément à la documentation Ninject, Comment configurer une application MVC3 :
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);
}
}
Maintenant, lorsque je lance l'application, j'obtiens l'écran jaune de la mort à l'exception suivante:
InvalidOperationException - La séquence ne contient aucun élément.
à System.Linq.Enumerable.Single (...)
à Ninject.Web.Mvc.Bootstrapper.Initialize (...) ligne 67.
Et bien sûr, la ligne 67 de ce fichier appelle .Single (), lançant ainsi l'exception.
Qu'est-ce que je fais mal?