Warum kompiliert das generierte NinjectMVC3.cs aus NuPack nicht? (oder was ist mit MvcServiceLocator in ASP.NET MVC 3 Beta passiert?)

7

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%     
Jedidja 06.10.2010, 17:53
quelle

3 Antworten

13

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):

%Vor%

und fügen Sie folgende Zeile zu App_Start() in gloabl.asax.cs

hinzu %Vor%     
Jedidja 06.10.2010, 17:55
quelle
5

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:)

    
David Ebbo 06.10.2010 18:20
quelle
1

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:

%Vor%

Und ich habe einen Aufruf von SetupDependencyInjection() in Application_Start() function hinzugefügt, so dass es so aussieht:

%Vor%

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:

%Vor%

Ich habe einige Haltepunkte hinzugefügt und die Anwendung ausgeführt, und das funktioniert wie ein Zauber. Hoffe, das hilft.

    
gligoran 10.10.2010 15:58
quelle

Tags und Links