MAUI Blazor执行EFCore迁移报错:启动项目目标为Android
解决MAUI Blazor中EFCore迁移报错:启动项目目标平台为Android不被支持
问题原因
EF Core CLI工具仅支持.NET Core/.NET 5+的控制台、Windows桌面或类库项目作为启动项目,MAUI的Android平台不在其支持范围内,直接以Android为目标的MAUI项目执行迁移命令会触发该报错。
解决方法
方法1:指定迁移项目与支持的启动平台(推荐)
无需修改默认启动项目,直接在命令中指定包含DbContext的数据层项目,并指定MAUI项目的Windows目标框架作为启动平台:
- 包管理器控制台命令:
(注:Add-Migration InitialCreate -Project 你的数据层项目名 -StartupProject 你的MAUI项目名 -TargetFramework net6.0-windows10.0.19041.0net6.0-windows10.0.19041.0需替换为你MAUI项目csproj文件中实际的Windows目标框架版本) - CLI命令:
dotnet ef migrations add InitialCreate --project 你的数据层项目名 --startup-project 你的MAUI项目名 --framework net6.0-windows10.0.19041.0
方法2:临时切换启动项目的目标平台
在Visual Studio中操作:
- 右键MAUI项目 → 属性
- 切换到应用程序标签页
- 将目标框架临时改为Windows(或其他EF CLI支持的平台)
- 执行
Add-Migration或Update-Database命令 - 操作完成后再改回Android平台
方法3:创建单独的控制台项目作为启动项目
若数据层是独立类库,可新建一个.NET 6+的控制台项目,添加对数据层项目的引用,之后执行迁移时指定该控制台项目为启动项:
Add-Migration InitialCreate -Project 你的数据层项目名 -StartupProject 你的控制台项目名
该方式适合频繁执行迁移的场景,避免重复切换平台。
内容的提问来源于stack exchange,提问作者Joben
相关产品推荐
相关产品推荐

