.NET Core 3.0项目执行dotnet ef迁移命令时提示找不到指定命令或文件求助
检查EF Core CLI工具的安装状态
.NET Core 3.0中EF Core CLI工具默认未全局安装,需确认是否执行过dotnet tool install --global dotnet-ef完成全局安装;若采用本地安装,需在项目根目录(存在.csproj文件的目录)执行dotnet tool install dotnet-ef,且所有迁移命令必须以dotnet ef为前缀,比如dotnet ef migrations add InitialCreate,不能直接输入ef migrations...。确认安装EF Core设计时依赖包
除了EF Core核心包(如Microsoft.EntityFrameworkCore.SqlServer),必须安装Microsoft.EntityFrameworkCore.Design包——这是CLI工具运行的关键依赖。可通过NuGet包管理器安装,或执行命令dotnet add package Microsoft.EntityFrameworkCore.Design。核对命令执行的上下文路径
多项目解决方案下,需在包含DbContext的项目目录或启动项目目录执行命令;若在解决方案根目录操作,必须通过--project参数指定项目路径,例如dotnet ef migrations add InitialCreate --project ./YourDataProject。同时确保DOS窗口当前路径与目标项目目录一致。验证SDK与EF Core版本兼容性
.NET Core 3.0需搭配3.0.x版本的EF Core包,检查项目文件中PackageReference的版本是否匹配,比如<PackageReference Include="Microsoft.EntityFrameworkCore" Version="3.0.10" />,版本不匹配会导致CLI工具无法正常工作。重置CLI工具缓存
若以上操作无效,可先卸载全局工具:dotnet tool uninstall --global dotnet-ef,再重新安装对应版本:dotnet tool install --global dotnet-ef --version 3.0.10,之后重启命令窗口重试。
内容的提问来源于stack exchange,提问作者Folling

