如何解决 Microsoft Visual Studio 2019 中的 InvalidOperationException 错误?

How to resolve the error InvalidOperationException in Microsoft Visual Studio 2019?

当我转到控制器时,它给我这个错误

"InvalidOperationException: Unable to resolve service for type 'Microsoft.AspNetCore.Identity.UserManager`1[Microsoft.AspNetCore.Identity.IdentityUser]' while attempting to activate 'AvaliacaoRestaurante.Controllers.FotoController'."

是启动时的问题,我必须添加或删除一些东西吗?

        services.AddDefaultIdentity<ApplicationUser>(options =>
            options.SignIn.RequireConfirmedAccount = true)
                   .AddRoles<IdentityRole>() 
                   .AddEntityFrameworkStores<AvaliacaoRestaurantesDB>();
        services.AddControllersWithViews();

您是否在 ConfigureServices 方法(class 启动)中注册了身份?您必须找到如下一行:

services.AddIdentity<UserIdentity, RoleIdentity>(...)

将上面的代码更改为 Startup.cs 类似的东西。

    services.AddIdentity<ApplicationUser, IdentityRole>(options =>
            {
               options.SignIn.RequireConfirmedEmail = true;
            })
            .AddEntityFrameworkStores<AvaliacaoRestaurantesDB>();
           
            services.AddControllersWithViews();

并且在注入控制器时必须在控制器中使用相同的 class:-

public FotoController(UserManager<ApplicationUser> userManager)

因为您在启动时使用了 ApplicationUser,而不是 IdentityUser,所以此类型未在注入中注册 system.I 认为它会解决您的问题。