C# 在.NET Core 3中找不到命令dotnet ef
为了创建一个初始迁移,我将进行以下操作。当我执行C# 在.NET Core 3中找不到命令dotnet ef,c#,asp.net-core,.net-core,entity-framework-core,.net-core-3.0,C#,Asp.net Core,.net Core,Entity Framework Core,.net Core 3.0,为了创建一个初始迁移,我将进行以下操作。当我执行dotnet时,我会得到帮助部分,这意味着路径工作正常 然后,我尝试从“控制台中的文档”窗口执行以下命令: dotnet ef迁移添加初始创建 我得到以下错误: 无法执行,因为找不到指定的命令或文件。 可能的原因包括: 您拼错了一个内置的dotnet命令 您打算执行.NET核心程序,但dotnet ef不存在 您打算运行全局工具,但在路径上找不到带有此名称的dotnet前缀可执行文件 复制命令后,我排除了第一项 我排除了第二项,因为安装了
dotnet
时,我会得到帮助部分,这意味着路径工作正常
然后,我尝试从“控制台中的文档”窗口执行以下命令:
dotnet ef迁移添加初始创建
我得到以下错误:
无法执行,因为找不到指定的命令或文件。可能的原因包括:
- 您拼错了一个内置的dotnet命令
- 您打算执行.NET核心程序,但dotnet ef不存在
- 您打算运行全局工具,但在路径上找不到带有此名称的dotnet前缀可执行文件
- 复制命令后,我排除了第一项
- 我排除了第二项,因为安装了包Microsoft.EntityFrameworkCore.SqlServer
- 我排除了第三项,因为我在调用dotnet时得到了帮助部分
网络->
Microsoft.EntityFrameworkCore.SqlServer 3.0.0-preview6.19304.10->
Microsoft.EntityFrameworkCore.Relational 3.0.0-preview6.19304.10->
Microsoft.EntityFrameworkCore(>=3.0.0-preview6.19304.10)
Web->Microsoft.EntityFrameworkCore(>=2.2.6) 请参阅for ASP.NET Core 3预览版4,其中说明此工具不再是内置的,需要显式安装: dotnet ef工具不再是.NET核心SDK的一部分 此更改允许我们将
dotnet ef
作为常规的.NET CLI工具发布,该工具可以作为全局或本地工具安装。例如,要能够管理迁移或构建DbContext
,请键入以下命令将dotnet ef
安装为全局工具:
dotnet tool install --global dotnet-ef --version 3.1.4
要安装该工具的特定版本,请使用以下命令:
dotnet tool install --global dotnet-ef --version 3.1.4
变更原因在以下章节中解释:
为什么?
此更改允许我们在NuGet上作为常规的.NET CLI工具分发和更新dotnet ef
,这与ef Core 3.0也始终作为NuGet包分发的事实一致
此外,您可能需要将以下NuGet包添加到项目中:
dotnet ef
作为常规的.NET CLI工具发布,该工具可以作为全局或本地工具安装。例如,要能够管理迁移或构建DbContext
,请键入以下命令将dotnet ef
安装为全局工具:
dotnet tool install --global dotnet-ef --version 3.1.4
要安装该工具的特定版本,请使用以下命令:
dotnet tool install --global dotnet-ef --version 3.1.4
变更原因在以下章节中解释:
为什么?
此更改允许我们在NuGet上作为常规的.NET CLI工具分发和更新dotnet ef
,这与ef Core 3.0也始终作为NuGet包分发的事实一致
此外,您可能需要将以下NuGet包添加到项目中:
FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build-env
ENV PATH $PATH:/root/.dotnet/tools
RUN dotnet tool install -g dotnet-ef --version 3.1.1
如果要使用Dockerfile进行部署,请将
dotnet ef
命令更改为dotnet ef
,这些是解决此问题需要采取的步骤
将Dockerfile更改为包含以下内容:
FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build-env
ENV PATH $PATH:/root/.dotnet/tools
RUN dotnet tool install -g dotnet-ef --version 3.1.1
同时将您的
dotnet ef
命令更改为dotnet ef
我也遇到了同样的问题。我通过卸载电脑上的所有版本,然后重新安装dotnet
,解决了这个问题。我也遇到了同样的问题。我通过卸载电脑上的所有版本,然后重新安装dotnet
解决了这个问题
全局工具可以安装在默认目录或
具体位置。默认目录为:
- Linux/macOS-->$HOME/.dotnet/tools
- Windows-->%USERPROFILE%\.dotnet\tools
- Linux/macOS-->$HOME/.dotnet/tools
- Windows-->%USERPROFILE%\.dotnet\tools
以管理员身份运行PowerShell或命令提示符,然后运行以下命令
dotnet工具安装--全局dotnet ef--版本3.1.3
以管理员身份运行PowerShell或命令提示符,然后运行以下命令
中的dotnet工具
dotnet tool install --global dotnet-ef
dotnet tool restore
dotnet tool run dotnet-ef
dotnet dotnet-ef