Wenn Sie das Add-In NuPack verwenden und das Paket NInject MVC 3 installieren, wird der folgende Kompilierungsfehler in der generierten Datei NinjectMVC3.cs
angezeigt.
The name 'MvcServiceLocator' does not exist in the current context
Das Beispielvideo David Ebbo hat es gezeigt funktioniert gut um 09:43 .
Hier ist die aktuell generierte Klasse:
%Vor% Grundsätzlich ist MvcServiceLocator
verschwunden. Wann immer das Video gemacht wurde, gab es einen Unterschied in den Versionen, denke ich.
Es gibt ausgezeichnete Erklärungen hier und hier .
Die zwei Schritte, die Ninject funktionieren lassen, sind wie folgt. Ersetzen Sie NinjectMVC3
durch Folgendes (ich habe auch den Namen geändert, der nicht notwendig ist):
und fügen Sie folgende Zeile zu App_Start()
in gloabl.asax.cs
Ich habe das Paket repariert und es in den Feed hochgeladen. Es wäre großartig, wenn Sie die Chance hätten, es auszuprobieren und zu überprüfen, ob es jetzt funktioniert. Ich habe die Version von Ninject.MVC3 von 0.1 auf 0.2 erhöht:)
Ich habe gerade Ninject.MVC3 0.3 installiert. Ich benutze ASP.NET MVC 3 Beta.
Ich habe diesen Code in meine Global.asax.cs
-Datei hinzugefügt:
Und ich habe einen Aufruf von SetupDependencyInjection()
in Application_Start()
function hinzugefügt, so dass es so aussieht:
Die IProductRepository
und SqlProductRepository
sind Klassen, die ich in meinem Models-Ordner erstellt habe, und ich habe eine Konstruktorabhängigkeit zu meiner HomeController
hinzugefügt. Hier ist der Code:
Ich habe einige Haltepunkte hinzugefügt und die Anwendung ausgeführt, und das funktioniert wie ein Zauber. Hoffe, das hilft.
Tags und Links asp.net-mvc-3 nuget ninject