.NET Core CLI添加迁移失败:EF Core工具不支持Android平台
解决EF Core迁移在Android项目中报错的问题
核心原因
EF Core的命令行工具不支持直接在Android平台项目上执行迁移操作,工具尝试读取Android平台的deps.json文件但无法正常生成,因此触发报错。
解决方案
方案1:拆分出单独的类库存放EF Core相关代码(推荐)
- 新建一个**.NET 8类库项目**(选择「类库(.NET)」模板)
- 将项目中的
DbContext类、实体模型类全部迁移到这个类库中 - 在Android项目的依赖项里添加对该类库的引用
- 打开包管理器控制台,将「默认项目」切换为新建的类库项目,执行迁移命令:
dotnet ef migrations add InitialCreate - 后续的迁移更新、数据库更新操作都在这个类库项目中执行,Android项目直接使用类库中的EF Core上下文即可
方案2:临时指定支持的目标框架执行命令
如果不想拆分项目,可以在执行命令时指定EF工具支持的框架(比如net8.0):
dotnet ef migrations add InitialCreate --framework net8.0
注意:需要确保你的Android项目的.csproj文件中包含多目标框架配置,示例如下:
<TargetFrameworks>net8.0;net8.0-android</TargetFrameworks>
方案3:检查必要的包依赖
确认项目中已安装EF Core工具包,在包管理器控制台执行:
Install-Package Microsoft.EntityFrameworkCore.Tools
同时确保DbContext所在的项目能正常编译,没有隐藏编译错误导致deps.json生成失败
内容的提问来源于stack exchange,提问作者Wan Muhammad Alif Firdaus Bin
相关产品推荐
相关产品推荐

