IOwinContext不包含GetUserManager()的定义
本文关键字:定义 GetUserManager 包含 IOwinContext | 更新日期: 2023-09-27 18:10:41
我决定使用ASP帐户确认和密码恢复。净的身份。我正在使用Identity 2.1.0。我将示例MVC应用程序从NuGet安装到一个空项目中,以便我可以看看它是如何配置的。
将更改合并到我的项目后,有一个错误我不知道如何解决:
Microsoft.Owin。iwincontext '不包含定义'GetUserManager'和没有扩展方法'GetUserManager'接受Microsoft.Owin类型的第一个参数。可以找到IOwinContext(您是否缺少using指令或程序集参考?)c:' users 'xxxxx' source ' repository 'xxxxxx'xxxxxx'Controllers'AccountController.cs 48 69 xxx .csxxx xxx
在我的AccountController.cs:
中抛出错误。public ApplicationUserManager UserManager
{
get
{
return _userManager ??
HttpContext.GetOwinContext().GetUserManager<ApplicationUserManager>();
}
private set
{
_userManager = value;
}
}
在示例应用程序和我的项目中,我在属性下看到两个项目都安装了microt.aspnet . identity . owin Version 2.0.0.0。
当我右键单击我的项目和Goto定义中的GetOwinContext()时,它显示元数据来自Assembly Microsoft.Owin.Host.SystemWeb.dll, v2.1.0.0
,但是当我单击参考文献下的Microsoft.Owin.Host.SystemWeb
时,我在属性中看到它只有2.0.0.0版本-这不仅看起来很奇怪,而且它也不同于显示2.1.0.0的示例应用程序。-这是我能找到的唯一不同。
除了上面的黑体段落外,我没有发现任何不同之处。这似乎是错误的,但我不确定,我不知道如何解决它,如果它是错误的。
右键单击GetUserManager没有显示通常的Resolve
菜单项,只有Refactor
,所以这个问题并不明显,对我来说……我能够通过包含using
语句来解决这个问题:
: S
上次开始MVC项目时,我在身份验证框架中遇到了一些类似的问题。解决这个问题的方法是卸载身份验证框架(通过Nuget),然后重新安装。他们最近更新了身份验证框架,但我不确定标准MVC项目是否使用新更新的框架。
出于某种原因,在做了大多数投票问题中提到的事情之后,我不得不重新清理和构建项目以使其工作