以下代码是从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软件包更新到最新版本。
答案 0 :(得分:79)
扩展方法已移至其他名称空间,请尝试添加
using Microsoft.AspNet.Identity.Owin;