以下代码复制自 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”的定义,并且找不到接受“Microsoft.Owin.IOwinContext”类型的第一个参数的扩展方法“GetUserManager”(您是否缺少 using 指令或装配参考?)
更新:
Microsoft.AspNet.Identity.Owin.dll 的版本 2 已存在于 ...\packages\Microsoft.AspNet.Identity.Owin.2.0.1\lib\net45 中。
但是,我的项目和示例之间的视图定义HttpContext.GetOwinContext()
不同。我项目的前三行是
#region 程序集 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 程序集 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 包更新到了最新版本。