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>>();
  • 相关阅读:
    shell 从键盘读取输入时删除输入的字符
    spring boot 下 mapper接口与xml文件映射问题
    tcpdump
    Linux TCP自连接问题
    git commit 合并到指定分支
    工作教训总结
    git 撤销修改和版本回退
    Java 注解方式校验请求参数
    JVM 监控工具——jconsole
    排查Full GC
  • 原文地址:https://www.cnblogs.com/wjx-blog/p/13666906.html
Copyright © 2011-2022 走看看