Подтвердить что ты не робот

"Microsoft.Owin.IOwinContext" не содержит определения для "GetUserManager" и никакого метода расширения?

Следующий код копируется из примера Asp.Net Identity 2.0.

private ApplicationUserManager _userManager;
public ApplicationUserManager UserManager
{
    get
    {
        return // Error 
          _userManager ?? HttpContext.GetOwinContext().GetUserManager<ApplicationUserManager>();
    }
    private set
    {
        _userManager = value;
    }
}

Однако он получает следующую ошибку?

Ошибка 3 "Microsoft.Owin.IOwinContext" не содержит определения для "GetUserManager" и не может быть найден метод расширения "GetUserManager", принимающий первый аргумент типа "Microsoft.Owin.IOwinContext" (вам не хватает использования директива или ссылка на сборку?)

Update:

Версия 2 Microsoft.AspNet.Identity.Owin.dll уже существует в... \packages\Microsoft.AspNet.Identity.Owin.2.0.1\lib\net45.

Однако определение вида HttpContext.GetOwinContext() отличается от моего проекта и образца. Первые три строки моего проекта:

#region Assembly Microsoft.Owin.Host.SystemWeb.dll, v2.0.0.0
// C:\......\packages\Microsoft.Owin.Host.SystemWeb.2.0.0\lib\net45\Microsoft.Owin.Host.SystemWeb.dll
#endregion

в то время как образец

#region Assembly Microsoft.Owin.Host.SystemWeb.dll, v2.1.0.0
// C:\....\sample\packages\Microsoft.Owin.Host.SystemWeb.2.1.0\lib\net45\Microsoft.Owin.Host.SystemWeb.dll
#endregion

Но я уже обновил все пакеты Owin Nuget до самой новой версии, используя Neget.

4b9b3361

Ответ 1

Метод расширения был перемещен в другое пространство имен, попробуйте добавить

using Microsoft.AspNet.Identity.Owin;