开发手册 欢迎您!
软件开发者资料库

.NET Core 3.0 使用dotnet ef时报错问题

.NET Core 3.0中使用dotnet ef migrations add InitialCreate命令,报错如下,Could not execute because the specified command or file was not found. Possible reasons for this include: * You misspelled a built-in dotnet command. * You intended to execute a .NET Core program, but dotnet-ef does not exist. * You intended to run a global tool, but a dotnet-prefixed executable with this name could not be found on the PATH. 执行dotnet命令,可以正常执行,说明PATH正常,本文主要介绍一下解决方法。

显示安装dotnet ef工具

请参阅有关ASP.NET Core 3相关文档,dotnet ef工具不再是.NET Core SDK的一部分,此更改使我们可以dotnet ef作为常规.NET CLI工具发布,可以将其安装为全局或本地工具。例如,为了能够管理迁移或搭建DbContext,请dotnet ef输入以下命令作为全局工具安装:

dotnet tool install --global dotnet-ef

项目中添加以下NuGet软件包:

更改原因

此更改允许我们在 NuGet 上将 dotnet ef 作为常规 .NET CLI 工具分发和更新,这与 EF Core 3.0 也始终作为 NuGet 包分发的事实一致。

相关文档:https://docs.microsoft.com/zh-cn/ef/core/what-is-new/ef-core-3.0/breaking-changes#the-ef-core-command-line-tool-dotnet-ef-is-no-longer-part-of-the-net-core-sdk