以下代码摘自 Asp.Net Identity 2.0 示例。
然而,却出现了以下错误?
错误 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 中。
但是,
#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 包到最新版本。
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 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 包到最新版本。
GetOwinContext()
在我的代码中运行良好。GetUserManager()
有问题。 - ca9163d9