.NET MAUI SQLite数据库迁移报错:指定deps.json文件不存在
解决.NET MAUI EF Core迁移时
deps.json不存在的问题 可行解决方案:
明确指定目标框架执行迁移命令
MAUI属于多目标框架项目,默认执行迁移命令可能会自动选择Android目标但未完成正确构建。尝试手动指定桌面目标框架(如net8.0):Add-Migration InitialCreate -f -p 你的项目名称 -s 你的项目名称 -o Migrations -TargetFramework net8.0替换
你的项目名称为实际项目名,InitialCreate为迁移名称,可按需修改。先完成项目构建
错误提示文件不存在,大概率是项目未完成构建。先在Visual Studio中执行生成解决方案(快捷键Ctrl+Shift+B),确认bin\Debug\net8.0目录下已生成对应的deps.json文件后,再重新执行迁移命令。检查项目目标框架配置
打开项目的.csproj文件,确认已包含桌面目标框架,配置示例如下:<TargetFrameworks>net8.0;net8.0-android;net8.0-ios</TargetFrameworks>若缺少
net8.0目标,添加后重新构建项目,再尝试迁移操作。清理并重建项目
按以下步骤操作:- 执行清理解决方案(菜单→生成→清理解决方案)
- 手动删除项目目录下的
bin和obj文件夹 - 重新生成解决方案
- 再次运行迁移命令
改用EF Core CLI执行迁移
若Package Manager Console仍有问题,尝试使用EF Core CLI命令:dotnet ef migrations add InitialCreate --project 你的项目名称 --startup-project 你的项目名称 --output-dir Migrations --framework net8.0若未安装EF Core CLI工具,先执行
dotnet tool install --global dotnet-ef完成安装。
内容的提问来源于stack exchange,提问作者Behzad Dara
相关产品推荐
相关产品推荐

