我正在按照文档创建初始迁移。当我执行dotnet时,我得到了帮助部分,这意味着PATH正常工作。

然后我尝试在控制台窗口的文档中执行下面的命令:

dotnet ef迁移添加InitialCreate

我得到以下错误:

无法执行,因为没有找到指定的命令或文件。 可能的原因包括:

内置dotnet命令拼写错误。 您打算执行。net Core程序,但dotnet-ef不存在。 您打算运行一个全局工具,但是在PATH上找不到带有此名称的dotnet前缀的可执行文件。 由于复制了命令,所以排除了第一项。 我排除了第二项,因为安装了包Microsoft.EntityFrameworkCore.SqlServer。 我排除了第三项,因为在调用dotnet时会得到帮助部分。

我在谷歌上搜索这个问题,但因为这个版本是新的,所以没有太多可以继续的东西,而且/或者它淹没在早期版本的类似问题中。

我试图强行安装微软。EntityFrameworkCore,以防需要显式地添加它。我遇到了错误消息,告诉我可以选择的最新版本是2.2.6,降级是不行的。我不确定如何安装与系统上已有的sql包兼容的版本(更不确定这是否是解决此问题的正确方法)。

检测到包降级:Microsoft。EntityFrameworkCore从3.0.0-preview6.19304.10到2.2.6。直接从项目中引用包以选择不同的版本。 Web - > Microsoft.EntityFrameworkCore.SqlServer 3.0.0-preview6.19304.10 -> Microsoft.EntityFrameworkCore.Relational 3.0.0-preview6.19304.10 -> 微软。EntityFrameworkCore (>= 3.0.0-preview6.19304.10) 微软。EntityFrameworkCore (>= 2.2.6)


当前回答

我也有同样的问题。我把电脑上的所有版本都卸载了,然后重新安装了dotnet。

其他回答

如果您在Linux上使用Snap包dotnet-sdk,可以通过更新~来解决这个问题。Bashrc文件等如下:

#!/bin/bash
export DOTNET_ROOT=/snap/dotnet-sdk/current
export MSBuildSDKsPath=$DOTNET_ROOT/sdk/$(${DOTNET_ROOT}/dotnet --version)/Sdks
export PATH="${PATH}:${DOTNET_ROOT}"
export PATH="$PATH:$HOME/.dotnet/tools"

安装dotnet-ef工具。

net 7

dotnet tool install --global dotnet-ef

net 6

dotnet tool install --global dotnet-ef --version 6.*

net 5

dotnet tool install --global dotnet-ef --version 5.*

.NET Core 3

dotnet tool install --global dotnet-ef --version 3.*

有关dotnet-ef历史的更多信息,请参阅ASP. net . ef的公告。NET Core 3预览4,它解释了这个工具从内置到需要显式安装:

.NET ef工具不再是.NET核心SDK的一部分 这个变化允许我们将dotnet ef作为一个常规的。net CLI工具发布,它可以作为一个全局或本地工具安装。

对于在MinGW MSYS上使用。net Core CLI的每个人:

安装后使用

dotnet tool install --global dotnet-ef

将这一行添加到bashrc文件(C:\msys64\home\username\ - .bashrc(位置取决于你的设置)

export PATH=$PATH:/c/Users/username/.dotnet/tools

原因是- . net ef工具不再是ASP. net Core SDK的一部分。NET Core 3.0。

解决方法:将dotnet ef作为全局工具安装

步骤:

以项目根目录下的管理员身份运行PowerShell或命令提示符 执行以下命令。

最新版本:

dotnet tool install --global dotnet-ef

对于特定版本:

——global Dotnet -ef——version <<version_number>>

有时,由于系统中的不同用户,可能会出现这种情况。

因此,要解决这个问题,可以在解决方案中本地安装dotnet-ef,而不是全局添加它。

本地安装步骤。

通过创建一个本地清单文件 Dotnet新工具清单 进入配置文件夹: cd。\ config 安装工具 安装dotnet-ef——version versionNumber。它将被成功安装,并且在项目中可以访问它的命令。