无法在Windows 10上安装dotnet-ef工具。

34

我正在尝试通过dotnet-cli安装dotnet-ef工具。

我输入的命令是:dotnet tool install --global dotnet-ef

但是它给了我以下错误:

The tool package could not be restored.
Tool 'dotnet-ef' failed to install. This failure may have been caused by:

* You are attempting to install a preview release and did not use the --version option to specify the version.
* A package by this name was found, but it was not a .NET Core tool.
* The required NuGet feed cannot be accessed, perhaps because of an Internet connection problem.
* You mistyped the name of the tool.

我正在使用dotnet 3.0, 我相信在MacOS上没有遇到这个问题,现在我尝试在Windows 10机器上执行相同的命令,但是它给了我那个错误。

一些使用dotnet --info命令的信息:

.NET Core SDK (reflecting any global.json):
 Version:   3.0.100
 Commit:    04339c3a26

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.18362
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\3.0.100\

Host (useful for support):
  Version: 3.0.0
  Commit:  7d57652f33

.NET Core SDKs installed:
  3.0.100 [C:\Program Files\dotnet\sdk]

.NET Core runtimes installed:
  Microsoft.AspNetCore.All 2.1.13 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.1.13 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.0.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 2.1.13 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.0.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.WindowsDesktop.App 3.0.0 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

To install additional .NET Core runtimes or SDKs:
  https://aka.ms/dotnet-download 

1
你可以尝试使用 NuGet 包管理器控制台 - Muhammad Aftab
8个回答

57

我通过添加--version标志并指定版本为3.0.0,使其正常工作。

我使用的命令:

dotnet tool install --global dotnet-ef --version 3.0.0


这里有一个已关闭的问题报告:https://github.com/dotnet/EntityFramework.Docs/issues/2044 - Moby Disk
1
FYI: 3.0.0是dotnet-ef的版本号。 - TimeTrap
1
请注意,这是 dotnet-ef 的旧版本。当前版本为 5.0.5。 - ksingh
为什么要直接指定版本,这是为什么? - enorl76
2
我正在使用dotnet 6和Windows 11,但仍然无法工作。<b>命令:</b> dotnet tool install --global dotnet-ef --version 6.0.4 - Amar Anondo

25

dotnet tool install -g dotnet-ef --ignore-failed-sources 对我很有用。感谢Anas-Alhariri

来源


3
非常感谢:最佳答案。对于其他命令,在运行命令之前,我必须取消选中自定义软件包源。参数“--ignore-failed-sources”可以解决所有问题。 - Nk54

3

最近我在Mac OS上遇到了相同的问题。 它与我们使用自己的NuGet feed (packageSources 部分)有关。 因此,我通过暂时从 NuGet.config 文件中删除自定义NuGet feed 来解决这个问题。


这对我有用,我正在使用Windows 10。我不得不右键单击我的项目->管理NuGet包,然后在“软件包源”旁边的右上角,我点击了设置齿轮符号,并确保只选择了nuget.org和Microsoft Visual Studio离线包。 - David Klempfner

3
如果所有其他方法都失败了,那么您应该检查您的Visual Studio中的下一个路线:工具 > NuGet包管理器 > 包管理器设置 > Nuget包管理器 > 包源。如果没有nuget.org,而只有Microsoft Visual Studio离线包,那就是问题所在。接下来,您需要像这样添加软件包资源nuget.org: enter image description here 一旦单击确定,您可以返回终端并轻松安装dotnet-ef。

2

我处理这个问题的方式是直接从软件包源下载软件包,

然后在命令中指定了另一个来源。

dotnet tool install --global dotnet-ef --version 7.0.2 --add-source "C:\nuget"

如果只是从NuGet安装它,为什么会成功呢?顺便说一下,链接是错误的。 - Gert Arnold
由于某些原因,在我的情况下,它无法从网络安装。公司网络可能存在某种网络问题。我不得不下载软件包并从本地文件夹安装。是的,链接已经失效了。这是我的错。 - Николай Солдаткин

0
我收到了这个错误消息,但是当我仔细检查所有错误时,我还发现了:
“响应状态代码不表示成功:407(需要代理授权)”。
在运行命令时关闭代理解决了这个问题。

0

当我尝试从软件包管理器控制台而不是PowerShell命令窗口运行该命令时,我遇到了这个错误。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接