Ich habe ein neues MVC3-Projekt erstellt, F5 gedrückt und die Beispielseite gesehen.
Dann habe ich NuGet verwendet, um die Ninject.MVC-Erweiterung zu erhalten . Ich habe meine global.asax gemäß der Ninject-Dokumentation, So richten Sie eine MVC3-Anwendung ein :
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);
}
}
Wenn ich jetzt die App starte, wird der gelbe Bildschirm des Todes mit der folgenden Ausnahme angezeigt:
InvalidOperationException - Die Sequenz enthält keine Elemente.
bei System.Linq.Enumerable.Single (...)
bei Ninject.Web.Mvc.Bootstrapper.Initialize (...) Zeile 67.
Und tatsächlich ruft Zeile 67 dieser Datei .Single () auf und löst so die Ausnahme aus.
Was mache ich falsch?