2015-01-02 21 views
7

Posiadam własny serwer Web Api i próbuję użyć jednej instancji mojego kontekstu EF na każde żądanie owinięcia. Oto mój kod konfiguracyjny dla klasy uruchamiania.Dlaczego pojawia się komunikat "Nie można rozwiązać symbolu" CreatePerOwinContext ""?

Nie zostanie utworzony, ponieważ pojawia się następujący błąd.

Błąd

5 „Owin.IAppBuilder” nie zawierają definicji „CreatePerOwinContext” i nie metodę rozszerzenia „CreatePerOwinContext” akceptowanie pierwszego argumentu typu „Owin.IAppBuilder” można znaleźć (czy brakuje Ci dyrektywy użycia lub odniesienia do zespołu?)

Brakuje mi odniesienia, którego nie znam?

+0

podobny problem? http://stackoverflow.com/questions/23057459/owin-iappbuilder-does-not-contain-a-definition-for-mapsignalr – Loathing

+0

Nie sądzę. Żadna z wersji, których używam nie pasuje do tych wymienionych w linku. –

Odpowiedz

16

CreatePerOwinContext jest metodą rozszerzenia w pakiecie NuGet Microsoft.AspNet.Identity.Owin.

Aby rozwiązać, konsolę menedżera pakietów otwarty dla swojego projektu i zainstalować za pomocą następującego polecenia:

Install-Package Microsoft.AspNet.Identity.Owin 

upewnić się, czy odwołanie do przestrzeni nazw, zawierającą metodę rozszerzenia:

using Owin; 
+0

Ten sam błąd, ale .... "Sieć ma już odniesienie do" Microsoft.AspNet.Identity.Owin 2.2.1 "." –

+0

Resharper dał mi opcję dodania odwołania do biblioteki dll i działało. To musiało być zamieszanie w projekcie. –

+1

@IanWarburton - Cieszę się, że to wyjaśniono. Ten błąd oznacza, że ​​pakiet znajduje się już w pliku packages.config dla projektu, w którym uruchomiono polecenie. Należy pamiętać, że jeśli masz wiele projektów, każdy projekt, który wywołuje ten kod, musi mieć ten pakiet we własnym pliku packages.config. Resharper nie zrobi tego za ciebie, po prostu kopiuje referencje DLL. Oznacza to, że przy nowym zakupie nuget nie przywróci rozwiązania do stanu budynku. Jeśli biblioteka DLL go posiada, musisz upewnić się, że używasz "Owin"; przestrzeń nazw, aby uzyskać dostęp do metody rozszerzenia. – cchamberlain

Powiązane problemy