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

M1 Mac执行dotnet ef更新数据库提示找不到.NET Core 2.0.0(arm64)框架

问题原因
  • 版本不匹配:你全局安装的dotnet-ef工具默认拉取了依赖.NET Core 2.0运行时的旧版本,而arm64架构的M1芯片设备从未发布过.NET Core 2.0版本的运行时,你本地仅安装了6.0.6版本的.NET运行时,无法满足旧版工具的运行要求。
  • 命令指向错误:你的ApplicationDbContext、迁移文件都存放在BulkyBook.DataAccess目录下,当前命令指定的BulkyBook.Models项目仅存放实体模型定义,没有EF核心配置与迁移逻辑,即使框架问题修复也无法正常执行更新操作。
解决方案
  1. 先卸载当前版本不兼容的dotnet-ef工具,执行命令:
dotnet tool uninstall dotnet-ef --global
  1. 安装和本地.NET 6环境匹配的arm64版本dotnet-ef工具,指定版本号为6.x大版本:
dotnet tool install dotnet-ef --global --version 6.* -a arm64

安装完成后执行dotnet ef --version验证,确认输出为6.x版本,不再出现找不到2.0框架的报错即可。
3. 修正数据库更新命令,指定正确的目标项目(存放DbContext和迁移的DataAccess项目),同时指定启动项目(存放数据库连接字符串配置的Web项目),参考命令:

dotnet ef database update --project ~/Documents/learning/bulky/BulkyBook.DataAccess/BulkyBook.DataAccess.csproj --startup-project ~/Documents/learning/bulky/BulkyBookWeb/BulkyBookWeb.csproj

如果之前的迁移文件是在错误的项目路径下生成的,建议先删除错误位置的Migrations文件夹,重新在DataAccess项目下生成迁移后再执行数据库更新,避免路径映射错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 06:34:01