Mac上Entity Framework Core CLI迁移命令执行失败求助
解决Mac上EF Core CLI执行SQLite迁移时的错误
我来帮你排查这个问题,你在Mac上配置EF Core SQLite迁移时遇到的dotnet ef migrations add InitialCreate错误,结合你的环境信息和操作场景,大概率是工具版本不匹配、包引用缺失或者项目配置不一致导致的,试试下面这些解决步骤:
1. 确保EF Core CLI工具版本与SDK匹配
你的.NET SDK是2.2.100-preview1版本,对应的EF Core CLI工具也需要安装同预览版本的:
执行下面的命令全局安装对应版本的工具:
dotnet tool install --global dotnet-ef --version 2.2.0-preview1-35029
安装完成后,用dotnet ef --version确认工具版本是否和SDK版本一致,避免版本不兼容的问题。
2. 检查项目中的EF Core和SQLite包引用
打开你的项目.csproj文件,确认已经添加了正确版本的SQLite和EF Core设计包:
<ItemGroup> <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="2.2.0-preview1-35029" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="2.2.0-preview1-35029" PrivateAssets="All" /> </ItemGroup>
如果版本不对或者缺失,更新后执行dotnet restore恢复包。
3. 统一项目的目标框架与SDK版本
在.csproj文件中确认<TargetFramework>设置为netcoreapp2.2,和你的SDK版本对应:
<TargetFramework>netcoreapp2.2</TargetFramework>
另外,在项目根目录创建global.json文件,强制指定使用的SDK版本,避免多SDK版本冲突:
{ "sdk": { "version": "2.2.100-preview1-008932" } }
4. 清理重建项目后重试
有时候缓存文件会干扰命令执行,先清理项目:
dotnet clean
再重建:
dotnet build
之后回到项目根目录,重新执行迁移命令:
dotnet ef migrations add InitialCreate
5. 确认命令执行路径正确
确保你是在包含.csproj文件的项目根目录执行命令,如果不在,用--project参数指定项目路径,比如:
dotnet ef migrations add InitialCreate --project ./你的项目目录
按照这些步骤逐一排查,应该能解决你遇到的迁移错误。
内容的提问来源于stack exchange,提问作者tzm
相关产品推荐
相关产品推荐

