Entity framework dotnet ef命令在升级到Visual Studio 16.3.0后不再工作

Entity framework dotnet ef命令在升级到Visual Studio 16.3.0后不再工作,entity-framework,entity-framework-core,dotnet-cli,entity-framework-core-3.0,Entity Framework,Entity Framework Core,Dotnet Cli,Entity Framework Core 3.0,这件事首先发生在家里,所以我想可能是我家的台式电脑出了问题。但现在我回来工作了,我尝试了升级,得到了同样的结果 升级前的屏幕截图 升级Visual Studio后的屏幕截图 我得到的错误是: 无法执行,因为找不到指定的命令或文件 可能的原因包括: 您拼错了一个内置的dotnet命令 您打算执行.NET核心程序,但dotnet ef不存在 您打算运行全局工具,但在路径上找不到带有此名称的dotnet前缀可执行文件 你知道为什么会这样吗?以及如何获取dotnet ef命令。我的意思是以前必须

这件事首先发生在家里,所以我想可能是我家的台式电脑出了问题。但现在我回来工作了,我尝试了升级,得到了同样的结果

升级前的屏幕截图

升级Visual Studio后的屏幕截图

我得到的错误是:

无法执行,因为找不到指定的命令或文件

可能的原因包括:

  • 您拼错了一个内置的dotnet命令
  • 您打算执行.NET核心程序,但dotnet ef不存在
  • 您打算运行全局工具,但在路径上找不到带有此名称的dotnet前缀可执行文件
你知道为什么会这样吗?以及如何获取
dotnet ef
命令。我的意思是以前必须在
$PATH
中,否则它以前不会工作。

这是一个:

EF核心命令行工具dotnet EF不再是.NET核心SDK的一部分

从3.0开始,.NET SDK不包括dotnet ef工具,因此在使用它之前,必须将其作为本地或全局工具显式安装

您需要安装。要全局安装,请在命令行上运行以下命令:

dotnet tool install --global dotnet-ef

如果我有一个旧的项目(在Core2.0上)需要增强,该怎么办。我可以使用3.0 SDK的工具将
ef迁移添加到2.0项目中吗?@Grandizer为什么要使用3.0 SDK?只需使用与您的代码匹配的2.x,您仍将安装它。@DavidG-perfect,但我发现此
无法执行,因为找不到指定的命令或文件。可能的原因包括:*您拼错了内置的dotnet命令。*您打算执行.NET核心程序,但dotnet ef不存在。*您打算运行一个全局工具,但在路径上找不到带有此名称的dotnet前缀的可执行文件。
并试图找到它。@DavidG我发现可以使用2.x,但不清楚如何根据上述错误消息强制它访问该版本。这是我的命令,用于添加一个migration
dotnet ef migrations add EmployeeUtilization-s..\Almanac
,在我开始处理.NET Core 3项目并安装SDK之前,它一直在整个项目中发挥作用。因此,我在我的repo基础上阅读了
dotnet tool install--local--version 2.0 dotnet ef
。成功了!以前做过,但不确定是否需要:
dotnet新工具清单