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>>();
  • 相关阅读:
    Linux内核邮件列表发送和回复格式研究
    FastCopy包含和排除文件夹处理
    Linux解压命令(tar)
    Linux下的删除命令
    分区还原工具(DiskGenius)
    树莓派利用PuTTY进行远程登录
    树莓派下载地址及一些常用工具
    树莓派开机黑屏问题解决
    Jenkins从2.x新建Job时多了一个文件夹的功能(注意事项)
    Jenkins的Publish Over FTP Plugin插件参数使用
  • 原文地址:https://www.cnblogs.com/wjx-blog/p/13666906.html
Copyright © 2011-2022 走看看