Когда я запускаю проект, я сталкиваюсь с этой проблемой: (Я использовал asp.net core 3
.)
Не удается разрешить службу с заданной областью "Microsoft.AspNetCore.Identity.UserManager`1 [Alpha.Models.Identity.User]" от корневого поставщика.
Как я могу решить эту проблему?
Класс ApplicationDbContext:
public class ApplicationDbContext : IdentityDbContext<User, Role, int,
UserClaim, UserRole, UserLogin, RoleClaim, UserToken>
{
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : base(options)
{
}
public static async Task CreateAdminAccount(IServiceProvider
serviceProvider, IConfiguration configuration)
{
UserManager<User> userManager =
serviceProvider.GetRequiredService<UserManager<User>>();
RoleManager<Role> roleManager =
serviceProvider.GetRequiredService<RoleManager<Role>>();
string userName = configuration["Data:AdminUser:Name"];
string email = configuration["Data:AdminUser:Email"];
string password = configuration["Data:AdminUser:Password"];
string role = configuration["Data:AdminUser:Role"];
if (await userManager.FindByNameAsync(userName) == null)
{
if (await roleManager.FindByNameAsync(role) == null)
{
await roleManager.CreateAsync(new Role(role));
}
User user = new User
{
Email = email,
UserName = userName
};
var result = userManager.CreateAsync(user, password);
if (result.IsCompletedSuccessfully)
{
await userManager.AddToRoleAsync(user, role);
}
}
}
}
Подробная информация об ошибке:
Произошла ошибка при запуске приложения. AggregateException: произошла одна или несколько ошибок. (Не удается разрешить службу с областью действия "Microsoft.AspNetCore.Identity.UserManager`1 [Alpha.Models.Identity.User]" от корневого поставщика.) System.Threading.Tasks.Task.ThrowIfExceptional (bool includeTaskCanceledExceptions)
InvalidOperationException: не удается разрешить службу с областью действия «Microsoft.AspNetCore.Identity.UserManager`1 [Alpha.Models.Identity.User]» от корневого поставщика. Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteValidator.ValidateResolution (тип serviceType, область IServiceScope, IServiceScope rootScope)
AggregateException: произошла одна или несколько ошибок. (Не удается разрешить службу с областью действия "Microsoft.AspNetCore.Identity.UserManager`1 [Alpha.Models.Identity.User]" от корневого поставщика.) System.Threading.Tasks.Task.ThrowIfExceptional (bool includeTaskCanceledExceptions) System.Threading.Tasks.Task .Wait (int millisecondsTimeout, CancellationToken cancellationToken) System.Threading.Tasks.Task.Wait () Alpha.Web.App.Startup.Configure (приложение IApplicationBuilder, IWebHostEnvironment env) в Startup.cs + ApplicationDbContextAccount.Create (appDbContextAccount.Create ).Ждать(); System. AspNetCore.Hosting.ConfigureBuilder.Invoke (экземпляр объекта, построитель IApplicationBuilder) Microsoft.AspNetCore.Hosting.ConfigureBuilder + ‹> c__DisplayClass4_0.b__0 (построитель IApplicationBuilder) Microsoft.AspNetplayCoreClass.Hosting_Gosting_AspNetplayCore2. Mvc.Filters.MiddlewareFilterBuilderStartupFilter + <> c__DisplayClass0_0.g__MiddlewareFilterBuilder | 0 (IApplicationBuilder строитель) Microsoft.AspNetCore.Server.IIS.Core.IISServerSetupFilter + <> c__DisplayClass2_0.b__0 (IApplicationBuilder приложение) Microsoft.AspNetCore.HostFilteringStartupFilter + <> c__DisplayClass0_0.b__0 (IApplicationBuilder приложение) Microsoft.AspNetCore.Hosting.GenericWebH ostService.StartAsync (CancellationToken cancellationToken) Microsoft.Extensions.Hosting.Internal.Host.StartAsync (CancellationToken cancellationToken) Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunExtensions.Hosting. , Токен CancellationToken) Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.Run (хост IHost) Alpha.Web.App.Program.Main (string [] args) в Program.cs + CreateHostBuilder (args) .Build (). Run ();
Показать необработанные сведения об исключении InvalidOperationException: не удалось разрешить службу с заданной областью «Microsoft.AspNetCore.Identity.UserManager`1 [Alpha.Models.Identity.User]» от корневого поставщика. Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteValidator.ValidateResolution (Тип serviceType, область IServiceScope, IServiceScope rootScope) Microsoft.Extensions.DependencyInjection.ServiceProvider.Microsoft.Extensions.DependencyInjection.ServiceProvider.Microsoft.Extensions.DependencyInjection.ServiceProvider.Microsoft.Extensions.DependencyInjection.ServiceLookup.IScope .DependencyInjection.ServiceLookup.ServiceProviderEngine.GetService (Тип serviceType, ServiceProviderEngineScope serviceProviderEngineScope) Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngine.Dcope.GetServiceServiceLookup.ServiceProviderEngine.Dcope.GetServiceServiceLookup.ServiceProviderEngine. DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService (поставщик IServiceProvider) Alpha.DataAccess.ApplicationDbContext.CreateAdminAccount (IServiceProvider serviceProvider, IConf конфигурация конфигурации) в ApplicationDbContext.cs + UserManager userManager = serviceProvider.GetRequiredService> ();
Показать необработанные сведения об исключении System.InvalidOperationException: не удалось разрешить службу с областью действия «Microsoft.AspNetCore.Identity.UserManager`1 [Alpha.Models.Identity.User]» от корневого поставщика. в Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteValidator.ValidateResolution (тип serviceType, область IServiceScope, IServiceScope rootScope) в Microsoft.Extensions.DependencyInjection.ServiceProvider.Microsoft.Extensions.DependencyInjection.ServiceProvider.Microsoft.Extensions.DependencyInjection.ServiceProvider.Microsoft. Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngine.GetService (Type serviceType, ServiceProviderEngineScope serviceProviderEngineScope)
в Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngineScope.GetSyiderviceServiceProviderEngineScope. , Введите serviceType) в Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService [T] (поставщик IServiceProvider) в Alpha.DataAccess.ApplicationDbContext.CreateAdminAc count (IServiceProvider serviceProvider, конфигурация IConfiguration) в E: \ Archives \ Projects \ Alpha \ Alpha.DataAccess \ ApplicationDbContext.cs: строка 92 .NET Core 3.0.0 X64 v4.0.0.0 | Microsoft.AspNetCore.Hosting версии 3.0.0-rc2.19465.2 | Microsoft Windows 10.0.17763 |
Нужна помощь?