.NET 6项目aspnet-codegenerator脚手架报path is empty错误咨询
问题结论
这是ASP.NET Core 6.0 代码生成器的已知Bug,并非配置错误,触发原因是手动安装了不需要的Microsoft.AspNetCore.Identity独立NuGet包,导致代码生成器解析依赖路径时出现空值异常。
根因说明
从.NET Core 3.0开始,ASP.NET Core相关核心组件改为通过共享框架统一分发,当你使用带「个人账户」身份验证的MVC模板创建.NET 6.0项目时,Identity相关的所有运行时组件已经默认内置在共享框架中,不需要额外手动安装独立的Microsoft.AspNetCore.Identity NuGet包。手动安装该包会导致项目依赖树冲突,代码生成器在扫描依赖程序集路径时拿到空值,就会抛出path is empty错误。
修复步骤
- 打开项目NuGet包管理界面,卸载手动安装的
Microsoft.AspNetCore.Identity包 - 关闭Visual Studio,删除项目根目录下的
bin、obj文件夹清理缓存 - 重新打开项目,执行
dotnet restore还原依赖,再重新生成解决方案 - 重新运行脚手架命令或使用VS右键添加视图/Identity页面功能,即可恢复正常
补充提示
如果需要自定义Identity逻辑,直接引用命名空间Microsoft.AspNetCore.Identity调用内置API即可,不需要额外安装独立NuGet包,该独立包仅适用于.NET Core 3.0之前的旧版本项目。
内容的提问来源于stack exchange,提问作者Extragorey
相关产品推荐
相关产品推荐

