Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 微软.AspNetCore.Identity.UserManager`1[M.Application.Models.ApplicationUserModel]';尝试激活M.Application.Services.EPDService时_C#_Asp.net Core Mvc - Fatal编程技术网

C# 微软.AspNetCore.Identity.UserManager`1[M.Application.Models.ApplicationUserModel]';尝试激活M.Application.Services.EPDService时

C# 微软.AspNetCore.Identity.UserManager`1[M.Application.Models.ApplicationUserModel]';尝试激活M.Application.Services.EPDService时,c#,asp.net-core-mvc,C#,Asp.net Core Mvc,我需要一些指导。这是我的第一个学习项目。我有4个图书馆。 核心:(包含所有实体、接口) Web:(它同样拥有所有的实体、接口、服务文件夹) 基础设施与应用程序映射,应用程序与Web映射。 因此,控制器中使用的类是Web(UI)的viewmodels 现在,当我尝试运行它时,会出现以下错误 尝试激活“Manage2.Application.Services.EmployeePersonalDetailsService”时,无法解析类型为“Microsoft.AspNetCore.Identity.

我需要一些指导。这是我的第一个学习项目。我有4个图书馆。 核心:(包含所有实体、接口)

Web:(它同样拥有所有的实体、接口、服务文件夹)

基础设施与应用程序映射,应用程序与Web映射。 因此,控制器中使用的类是Web(UI)的viewmodels

现在,当我尝试运行它时,会出现以下错误 尝试激活“Manage2.Application.Services.EmployeePersonalDetailsService”时,无法解析类型为“Microsoft.AspNetCore.Identity.UserManager`1[Manage2.Application.Models.ApplicationUserModel]”的服务。

据我所知,在startup类中注册ApplicationUser而不是ApplicationUserModel是错误的,如下所示:

services.AddIdentity<ApplicationUser, IdentityRole<int>>(options => options.SignIn.RequireConfirmedAccount = true)
                .AddRoles<IdentityRole<int>>()
               .AddEntityFrameworkStores<MContext>()
               .AddDefaultTokenProviders();
services.AddIdentity(options=>options.SignIn.RequireConfirmedAccount=true)
.AddRoles()
.AddEntityFrameworkStores()
.AddDefaultTokenProviders();

我的问题是我对错误的理解正确吗?这是正确的方法吗(我不想在web中使用\u上下文)。还有我该怎么解决呢?

我发现了错误。使用ApplicationUserModel是可以的,但我在应用程序库中做的就是这样

       private readonly UserManager<ApplicationUserModel> _userManager;
       UserManager<ApplicationUserModel> userManager)
        {
            _userManager = userManager;
        }
private readonly UserManager\u UserManager;
用户管理器(用户管理器)
{
_userManager=userManager;
}
这是不可能的,因为我只能注册从IdentityUser继承的ApplicationUser,而不能注册ApplicationUserModel或AppilcationServiceWModel。所以即使在应用程序库中,它也应该是


       private readonly UserManager<ApplicationUser> _userManager;
       UserManager<ApplicationUser> userManager)
        {
            _userManager = userManager;
        }

私有只读用户管理器_UserManager;
用户管理器(用户管理器)
{
_userManager=userManager;
}

是的,您可以在EmployeePersonalDetails服务中插入UserManager。所以你需要注册这项服务。谢谢你的帮助!!
services.AddIdentity<ApplicationUser, IdentityRole<int>>(options => options.SignIn.RequireConfirmedAccount = true)
                .AddRoles<IdentityRole<int>>()
               .AddEntityFrameworkStores<MContext>()
               .AddDefaultTokenProviders();
       private readonly UserManager<ApplicationUserModel> _userManager;
       UserManager<ApplicationUserModel> userManager)
        {
            _userManager = userManager;
        }

       private readonly UserManager<ApplicationUser> _userManager;
       UserManager<ApplicationUser> userManager)
        {
            _userManager = userManager;
        }