【问题标题】:How to resolve the error InvalidOperationException in Microsoft Visual Studio 2019?如何解决 Microsoft Visual Studio 2019 中的错误 InvalidOperationException?
【发布时间】:2021-07-14 14:57:32
【问题描述】:

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

“InvalidOperationException:尝试激活“AvaliacaoRestaurante.Controllers.FotoController”时,无法解析“Microsoft.AspNetCore.Identity.UserManager`1[Microsoft.AspNetCore.Identity.IdentityUser]”类型的服务。”

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

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

【问题讨论】:

    标签: c# asp.net asp.net-mvc asp.net-core asp.net-core-identity


    【解决方案1】:

    在 Startup.cs 中更改上述代码。

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

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

    public FotoController(UserManager<ApplicationUser> userManager)
    

    因为你在启动时使用了ApplicationUser,而不是IdentityUser,所以这个类型没有在注入系统中注册。我想它会解决你的问题。

    【讨论】:

    • 我做到了,但它不起作用:(@Pritom Sarkar
    • @GuyPeace 确保使用 IdentityUser 继承您的 ApplicationUser,例如 public class ApplicationUser : IdentityUser
    【解决方案2】:

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

    services.AddIdentity&lt;UserIdentity, RoleIdentity&gt;(...)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多