zoukankan      html  css  js  c++  java
  • identityserver4的项目升级成.netcore3.1后出现:Microsoft.Extensions.Logging.ILogger`1[Microsoft.AspNetCore.Identity.UserManager`1[Services.IdentityServer4.ApplicationUser]]

    把.net core2.1的identityServer4的项目升级成3.1后,出现如下错误:

    System.InvalidOperationException: Unable to resolve service for type 'Microsoft.Extensions.Logging.ILogger`1[Microsoft.AspNetCore.Identity.UserManager`1[Services.IdentityServer4.ApplicationUser]]' while attempting to activate 'Microsoft.AspNetCore.Identity.UserManager`1[Services.IdentityServer4.ApplicationUser]'.

    原来在core 2.1的时候不报错,升级为3.1后报错了。

    报错的代码如下:

                string connectionString = SysCore.ConfigHelper.GetSectionValue("ConnectionStrings:DefaultConnection");
                var services = new ServiceCollection();
                services.AddDbContext<ApplicationDbContext>(options => options.UseMySql(connectionString));
                services.AddIdentity<ApplicationUser, IdentityRole>(
                        options =>
                        {
                            options.Password.RequireUppercase = false;
                            options.Password.RequireLowercase = false;
                            options.Password.RequireDigit = false;
                            options.Password.RequiredLength = 0;
                            options.Password.RequireNonAlphanumeric = false;
                            options.Password.RequiredUniqueChars = 0;
                        }
                    )
                    .AddEntityFrameworkStores<ApplicationDbContext>()
                    .AddDefaultTokenProviders();
    
                var serviceProvider = services.BuildServiceProvider();
    
                var userMgr = serviceProvider.GetRequiredService<UserManager<ApplicationUser>>();

    添加一行后解决:

                string connectionString = SysCore.ConfigHelper.GetSectionValue("ConnectionStrings:DefaultConnection");
                var services = new ServiceCollection();
                services.AddDbContext<ApplicationDbContext>(options => options.UseMySql(connectionString));
                services.AddLogging(logging => logging.AddConsole());
                services.AddIdentity<ApplicationUser, IdentityRole>(
                        options =>
                        {
                            options.Password.RequireUppercase = false;
                            options.Password.RequireLowercase = false;
                            options.Password.RequireDigit = false;
                            options.Password.RequiredLength = 0;
                            options.Password.RequireNonAlphanumeric = false;
                            options.Password.RequiredUniqueChars = 0;
                        }
                    )
                    .AddEntityFrameworkStores<ApplicationDbContext>()
                    .AddDefaultTokenProviders();
    
                var serviceProvider = services.BuildServiceProvider();
    
                var userMgr = serviceProvider.GetRequiredService<UserManager<ApplicationUser>>();
  • 相关阅读:
    云存储研发工程师(40-50万)
    数据分析师(50-70万)
    云计算-资深java研发
    云计算 -- 资深python开发
    公众号”IT高薪猎头“
    51内核mcu实现printf的一种方法
    一种基于蓝牙BLE无线控制的灯光系统的解决方案
    Ecx后台增加新菜单+新数据表+新bundle完整过程
    Ecx 生成swagger文档
    ecshopx-manage管理后台本地编译设置本地API
  • 原文地址:https://www.cnblogs.com/wjx-blog/p/13666906.html
Copyright © 2011-2022 走看看