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
相关产品推荐
相关产品推荐

