2015-01-02 4 views
7

나는 자체 호스트 오인 웹 API를 가지고 있으며 Owin 요청 당 하나의 EF 컨텍스트 인스턴스를 사용하려고합니다. 다음은 시작 클래스에 대한 설정 코드입니다.왜 "CreatePerOwinContext '"기호를 해결할 수 없습니까?

public void Configuration(IAppBuilder app) 
{   
    app.CreatePerOwinContext(A3Context.Create); 
} 

다음과 같은 오류가 발생하여 빌드되지 않습니다.

오류

5 'Owin.IAppBuilder' 'CreatePerOwinContext'에 대한 정의와 유형의 첫 번째 인수를 받아들이는없는 확장 메서드 'CreatePerOwinContext' 을 포함하지 않는 'Owin.IAppBuilder'볼 수 있습니다 (사용 지시문이나 어셈블리 참조가 누락 되었습니까?)

나는 인식하지 못하는 참조가 누락 되었습니까?

+0

유사 문제 :

Install-Package Microsoft.AspNet.Identity.Owin 

당신이 확장 메서드를 포함하는 네임 스페이스를 참조하고 있는지 확인? http://stackoverflow.com/questions/23057459/owin-iappbuilder-does-not-contain-a-definition-for-mapsignalr – Loathing

+0

나는 그렇게 생각하지 않는다. 내가 사용하는 버전 중 귀하의 링크에 언급 된 버전이 없습니다. –

답변

16

CreatePerOwinContext는 Microsoft.AspNet.Identity.Owin NuGet 패키지의 확장 메서드입니다.

프로젝트를 위해 오픈 패키지 관리자 콘솔을 해결하고 다음 명령을 사용하여 설치하려면 다음

using Owin; 
+0

같은 오류가 있지만 .... "웹에 이미 'Microsoft.AspNet.Identity.Owin 2.2.1'에 대한 참조가 있습니다." –

+0

Resharper는 나에게 dll에 대한 참조를 추가하는 옵션을주었습니다. 프로젝트에서 혼합되어 있어야합니다. –

+1

@IanWarburton - 기꺼이 해결 했어. 이 오류는 명령을 실행중인 프로젝트의 package.config에 패키지가 이미 있음을 의미합니다. 한 가지 알고 있어야 할 점은 여러 프로젝트가있는 경우이 코드를 호출하는 각 프로젝트는 자체 package.config에 해당 패키지가 있어야한다는 것입니다. Resharper 당신을 위해 비트를하지 않습니다, 그냥 DLL을 참조를 복사합니다. 즉, 새로 체크 아웃하면 누젠이 솔루션을 건물 상태로 복원하지 못합니다. DLL에있는 경우에는 "Owin;을 사용하십시오." 확장 메서드에 액세스하는 네임 스페이스 – cchamberlain