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

.NET 5 ASP.NET托管Blazor WASM服务端脚手架Identity时报包还原失败错误

可行解决思路
  • 先手动触发服务端项目的NuGet还原
    右键解决方案中的server项目,选择「还原NuGet程序包」,等待还原全程无报错完成后,再重新触发Identity脚手架添加操作。VS脚手架自带的自动还原流程常被并行编译任务拦截,提前手动完成还原可避开该类异常。
  • 校正NuGet程序包源配置
    打开VS「工具>NuGet包管理器>程序包源」,仅保留官方默认nuget.org源,移除自定义、本地离线、过期的第三方包源,避免脚手架拉取依赖时从错误源下载导致校验失败。
  • 手动安装匹配版本的脚手架依赖包
    .NET 5版本的Identity脚手架对Microsoft.VisualStudio.Web.CodeGeneration.Design包有严格版本要求,在server项目的NuGet包管理器中安装适配.NET 5的5.0.x版本该包,不要安装6.0及以上的高版本,安装完成重新生成项目后再执行脚手架操作。
  • 绕过VS内置脚手架,用CLI命令手动生成页面
    打开对应.NET 5版本的开发人员命令提示符,切换到server项目根目录依次执行:
    • 安装匹配版本的代码生成工具:dotnet tool install -g dotnet-aspnet-codegenerator --version 5.0.2
    • 查看Identity生成的参数说明:dotnet aspnet-codegenerator identity -h
    • 按需求执行生成命令,例如指定要生成的登录、注册页面:dotnet aspnet-codegenerator identity -dc 项目名称.Data.ApplicationDbContext --files "Account.Login;Account.Register"
      该方式直接绕过VS内置脚手架的自动包还原校验逻辑,不会触发自动回滚的报错。
  • 临时调整跨项目引用的还原优先级
    打开server项目的.csproj文件,找到对shared项目的引用节点,在节点内添加RestoreSources属性临时指定当前项目的包拉取顺序,规避跨项目引用时的依赖解析冲突,脚手架操作完成后可移除该临时属性。

注意:操作全程需保持VS NuGet包管理器处于允许下载包的启用状态,不要开启离线模式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.24 00:06:06