You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Core注入Identity服务时找不到ApplicationUser类型问题问询

解决方案
  • 【补充视图命名空间引用】你的ApplicationUser定义在WebApp1.Data命名空间下,当前登录分部视图没有引入该命名空间,两种处理方式:
    1. 直接在分部视图顶部添加代码:@using WebApp1.Data
    2. 注入时直接写全限定类名:@inject SignInManager<WebApp1.Data.ApplicationUser> SignInManager、@inject UserManager<WebApp1.Data.ApplicationUser> UserManager
  • 【全局配置视图命名空间】如果希望所有Razor视图都能直接使用该类型,找到项目根目录下的_ViewImports.cshtml文件,添加一行:@using WebApp1.Data;如果是Identity区域的视图识别失败,还要额外在Areas/Identity/Pages/_ViewImports.cshtml中也添加这行代码。
  • 【检查上下文与Identity服务配置】
    1. 确认你的ApplicationDbContext继承的是IdentityDbContext<ApplicationUser>而非默认的IdentityDbContext,示例代码:
    public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
    {
        public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
            : base(options)
        {
        }
    }
    
    1. 确认Program.cs(.NET 6+)或Startup.cs(.NET 5及更早)中Identity服务注册时使用的是ApplicationUser,示例配置:
    builder.Services.AddDefaultIdentity<ApplicationUser>(options => options.SignIn.RequireConfirmedAccount = true)
        .AddEntityFrameworkStores<ApplicationDbContext>();
    
  • 【清理缓存重新生成】完成上述配置后,右键解决方案选择「清理」,删除项目下的bin、obj文件夹,再重新生成项目,避免Razor视图缓存导致类型识别异常。

内容的提问来源于stack exchange,提问作者Glenn Coyle

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 21:06:02