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

Visual Studio 2022中ASP.NET Core MVC Identity脚手架生成报错求助

解决ASP.NET Core MVC(.NET 8预览版)Identity脚手架报错问题

排查与修复步骤

  • 捕获完整报错信息:放弃依赖VS界面显示,打开「视图→输出」窗口,选择「显示来自:脚手架」的输出内容,右键复制全部文本,从中定位关键错误关键词(如特定异常类型、依赖缺失提示、DbContext配置问题)。
  • 校验DbContext配置:确保你的DbContext正确继承IdentityDbContext<TUser>(或带角色的IdentityDbContext<TUser, TRole, TKey>),且在Program.cs中完成正确注册:
    builder.Services.AddDbContext<ApplicationDbContext>(options =>
        options.UseSqlServer(builder.Configuration.GetConnectionString("DefaultConnection")));
    builder.Services.AddDefaultIdentity<IdentityUser>(options => options.SignIn.RequireConfirmedAccount = true)
        .AddEntityFrameworkStores<ApplicationDbContext>();
    
  • 清理脚手架缓存:删除项目根目录下的obj和bin文件夹,重启Visual Studio后重新尝试生成脚手架。
  • 统一包版本兼容性:打开NuGet包管理器,确认所有Microsoft.AspNetCore.Identity.*、Microsoft.EntityFrameworkCore.*系列包的版本完全一致,无版本差异;手动安装匹配.NET 8预览版的Microsoft.VisualStudio.Web.CodeGeneration.Design包后,在Package Manager Console执行脚手架命令:
    Scaffold-DbContext "你的数据库连接字符串" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Context ApplicationDbContext -Force
    
  • 检查项目文件配置:右键项目→编辑项目文件,确认<TargetFramework>设置为net8.0,清理掉旧版<PackageReference>残留或不兼容的配置项。

额外验证方案

如果上述步骤无效,创建一个全新的空白.NET 8预览版ASP.NET Core MVC项目,直接添加Identity脚手架(不复制现有DbContext),验证基础场景是否能成功生成。若新项目正常,逐步迁移现有DbContext的配置和实体,定位冲突点。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 10:17:34