创建ASP.NET MVC项目时Scaffolding生成Identity报错如何解决
ASP.NET Core Identity 脚手架 Bootstrap 版本报错排查方案
运行所选代码生成器时出错:'指定的Bootstrap版本“4”无效,有效选项为“3、4、5”。'
按以下顺序排查即可解决问题:
- 确认代码生成器包版本与.NET版本匹配
右键项目选择「编辑项目文件」,检查Microsoft.VisualStudio.Web.CodeGeneration.Design包的主版本号,必须和你当前项目使用的ASP.NET Core主版本完全一致,比如.NET 6项目对应6.x版本包、.NET 7对应7.x版本包,跨版本安装会触发版本校验逻辑异常。 - 命令行手动指定版本执行脚手架生成
避开可视化界面的参数传递错误,打开NuGet包管理器控制台,执行命令手动指定版本:
如果你需要用Bootstrap 4,执行:dotnet aspnet-codegenerator identity -dc 你的DbContext类名 --bootstrapVersion 4
如果需要用Bootstrap 5,把参数值改为5即可。如果还没创建自定义Identity DbContext,可以加--useDefaultUI参数直接生成默认UI。 - 检查项目脚手架配置文件
查看项目根目录是否存在codegeneration.props或scaffoldingconfig.json文件,若存在则打开检查里面的Bootstrap版本配置项,确认值为3/4/5中的有效值,或者直接删除该配置文件让工具使用默认配置。 - 清理缓存后重试
关闭Visual Studio,删除项目根目录下的bin、obj文件夹,再删除系统全局的代码生成器缓存:Windows系统路径为%USERPROFILE%\.nuget\packages\microsoft.visualstudio.web.codegeneration,macOS/Linux路径为~/.nuget/packages/microsoft.visualstudio.web.codegeneration,删除对应版本的文件夹后重新打开VS生成项目,再执行脚手架操作。 - 临时适配方案
若以上操作都无效,可先在可视化脚手架界面选择Bootstrap 5完成生成,再根据你项目实际使用的Bootstrap版本,手动调整Identity页面的样式类名即可。
内容的提问来源于stack exchange,提问作者b u。
相关产品推荐
相关产品推荐

