'Microsoft.Owin.IOwinContext'不包含'GetUserManager'的定义,也没有扩展方法?

时间:2014-05-08 04:50:27

标签: asp.net asp.net-mvc-5 asp.net-identity asp.net-identity-2

以下代码是从Asp.Net Identity 2.0示例中复制的。

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

但是它会出现以下错误?

  

错误3&#39; Microsoft.Owin.IOwinContext&#39;不包含&#39; GetUserManager&#39;的定义没有扩展方法&#39; GetUserManager&#39;接受类型&#39; Microsoft.Owin.IOwinContext&#39;的第一个参数。可以找到(你错过了使用指令或程序集引用吗?)

更新

Microsoft.AspNet.Identity.Owin.dll的第2版已经存在于... \ 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

但是我已经使用Neget将所有Owin Nuget软件包更新到最新版本。

1 个答案:

答案 0 :(得分:79)

扩展方法已移至其他名称空间,请尝试添加

using Microsoft.AspNet.Identity.Owin;