当前位置: 首页 > 知识库问答 >
问题:

未找到dotnet ef命令

贲招
2023-03-14

为了创建一个初始迁移,我正在跟踪文档。当我执行dotnet时,我会得到帮助部分,这意味着路径工作正常。

然后,我尝试从“控制台中的文档”窗口执行以下命令:

dotnet ef迁移添加初始创建

我得到以下错误:

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

>

  • 您拼错了一个内置的dotnet命令。

    你打算执行一个命令。NET核心程序,但dotnet ef不存在。

    您打算运行全局工具,但在路径上找不到带有此名称的dotnet前缀可执行文件。

    复制命令后,我排除了第一项。

    我排除了第二项,因为软件包是Microsoft的。EntityFrameworkCore。SqlServer已安装。

    我排除了第三项,因为我在调用dotnet时得到了帮助部分。

    我在谷歌上搜索这个问题,但是因为这个版本是新的,所以没什么可说的,而且/或者它淹没在早期版本的类似问题中。

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

    检测到包降级:Microsoft。EntityFrameworkCore来自3.0。0-6。19304.10至2.2。6.直接从项目中引用包以选择其他版本<网络-

  • 共有3个答案

    颛孙博易
    2023-03-14

    全局工具可以安装在默认目录或特定位置。默认目录为:

    >

  • Linux/macOS---

    窗户---

    如果尝试运行全局工具,请检查计算机上的PATH环境变量是否包含安装全局工具的路径,以及可执行文件是否位于该路径中。

    故障排除。NET核心工具使用问题

  • 卫烨
    2023-03-14

    如果使用Dockerfile进行部署,则需要采取以下步骤来解决此问题。

    将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

    戚翰飞
    2023-03-14

    请参阅ASP的公告。NET Core 3 Preview 4,这说明此工具不再是内置的,需要显式安装:

    此更改允许我们将dotnet ef作为常规出货。NET CLI工具,可以作为全局或本地工具安装。例如,为了能够管理迁移或构建DbContext,请将dotnet ef安装为全局工具,键入以下命令:

    dotnet tool install --global dotnet-ef
    

    要安装该工具的特定版本(请参阅nuget.org的所有可用版本),请使用以下命令:

    dotnet tool install --global dotnet-ef --version 3.1.4
    

    文档中解释了更改的原因:

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

    此外,您可能需要将以下NuGet包添加到项目中:

    • 微软。EntityFrameworkCore。SqlServer
     类似资料:
    • 我是新的Python开发和尝试使用pipenv。我运行命令,它成功运行: 然而,当我在一个新的根项目目录中运行命令时,我收到以下消息:。我怀疑我可能需要修改我的. bashrc,但是我不清楚要向文件中添加什么,或者是否需要修改。

    • 我在Heroku上使用Postgresql数据库托管了一个RoR应用程序,并且一直在使用PG备份工具将数据库从我的应用程序备份到本地机器上。由于该应用程序仍在开发中,它从编程的角度帮助我降低了我的同事对数据库所做的更改。几个月来,我一直在成功地使用PG备份进行捕获和恢复,但最近,当我运行此处所示的典型命令时: 在curl命令执行后,我遇到此错误: 你知道为什么会这样吗?显然,问题是我无法恢复下载的

    • 我使用的是节点0.10。35和grunt指挥部运作良好。现在升级到0.12之后。3 grunt命令已停止工作。 OS:Mac OSX 10.10.1节点:0.12.3 npm:2.9.1 grunt:0.4.5 我认为可能有问题的节点安装所以我清理安装了3-4次 我试着用- node-v0.12.3.pkg 节点版本管理器(nvm) 许多此类问题的解决方案建议使用 然后使用安装本地节点模块。 我遵

    • 我试着做一个文件: 但是得到了错误: Android:命令未找到 我试图设置Android SDK的路径,但没有帮助: 有没有可能解决这个问题? UPD:我正在使用这个软件中的Git Shell:http://git-scm.com/download/win

    • 我正在学习laravel并遵循这个教程, 但当我尝试安装npm时,它说

    • 我的discord bot能够运行其on_消息代码,但当我尝试运行命令%ping时,它会出错并显示“discord.ext.commands.errors.CommandNotFound:未找到命令”ping“。 我已经导入了所有需要的模块,在底部写了client.run(令牌),并定义了我的令牌和客户端对象,我认为没有必要包含这些代码行。 我已经包括等待client.process_comman

    • 我重新安装了Ubuntu,在安装了Yi2等之后,我似乎无法再运行codecept了。 我用的是Yii2。我需要composer.json中最新的codecept版本,该版本运行良好。但我似乎找不到让codeception再次运行的方法。 我已经浏览了所有的指南,但没有一个指南有任何其他的东西,只是为了满足composer的要求或将其添加到composer.json中。我确实注意到,当我想将code

    • 我正在尝试将我新培训的mobilenet模型转换为tflite,以便通过遵循Google codelabs将其用于Android应用程序。https://codelabs.developers.google.com/codelabs/tensorflow-for-poets-2-tflite/index.html#3 我在Ubuntu 16.04 LTS机器上。上面说是 未找到命令toco 谷歌告