UseExternalSignInCookie ist kein Mitglied von Owin.IAppBuilder

8

Ich habe zwei VS 2013 MVC 5 SPA Webprojekte. Beide sind neu erstellt und wurden nicht modifiziert (d. H. Immer noch die Vanille-Vorlage). Einer von ihnen funktioniert und einer nicht. Der einzige Unterschied, den ich sehen kann, ist, dass einer in einem Projekt erstellt wurde, das von VS 2010 auf VS 2012 und dann auf 2013 aktualisiert wurde und eines von ungefähr 60 bis 70 Projekten in der Lösung ist. Der andere ist eine neu erstellte Lösung mit der MVC-App als das einzige Projekt darin.

Die neue MVC-App in ihrer eigenen Lösung funktioniert problemlos. Die MVC-App, die dem aktualisierten Projekt hinzugefügt wurde, weist jedoch den folgenden Fehler bei der Kompilierung auf:

%Vor%

Der Code, bei dem das Problem auftritt (Startup.Auth.vb):

%Vor%

und (AccountController.vb)

%Vor%

Dieser Code ist sowohl in der aktualisierten Lösung als auch in der neu erstellten Lösung identisch. Es wird also etwas an der Umgebung gemacht. Ich habe sichergestellt, dass die NuGet-Pakete korrekt eingerichtet sind. Was ich am interessantesten finde (und das ist wahrscheinlich ein Missverständnis meinerseits) ist, dass wenn ich die Assemblymetadaten für IAppBuilder erkunde, keine der referenzierten Methoden zu sehen sind, so dass der Fehler sinnvoll ist. Dann stellt sich jedoch die Frage, warum es in der neu erstellten MVC-App funktioniert?

    
Matt Ruwe 01.12.2013, 14:27
quelle

1 Antwort

31

Als ich die Frage schrieb, war ich in der Lage, die Antwort zu bestimmen. Die Methoden UseExternalSignInCookie und UseOAuthBearerTokens sind eigentlich Erweiterungs-Methoden auf dem IAppBuilder, weshalb ich verwirrt war. Diese Erweiterungsmethoden finden Sie in Microsoft.Owin.Security.Cookies, auf die anscheinend nicht korrekt verwiesen wurde.

Nachdem ich das herausgefunden hatte und während ich die Projektreferenzen durchging, bemerkte ich, dass die Microsoft.AspNet.Identity.Owin Assemblyreferenz defekt war, also installierte ich das Paket mit update-Package -reinstall Microsoft.AspNet.Identity.Owin package manager Befehl neu und dann fing alles an zu arbeiten .

Ich bin mir immer noch nicht sicher, warum das anfangs kaputt war, aber es funktioniert jetzt.

    
Matt Ruwe 01.12.2013, 14:27
quelle

Tags und Links