PowerShell NuGet-“找不到与指定搜索条件匹配的内容”,“找不到依赖的程序包”等

use*_*136 5 powershell package nuget jwt

我试图安装程序集System.IdentityModel.Tokens.Jwt,但是我不断收到nuget错误:

find-package : No match was found for the specified search criteria and package name 'System.IdentityModel.Tokens.Jwt'. Try Get-PackageSource to see all available registered package sources.

当我直接下载.nupkg文件并尝试以这种方式安装它时,出现以下错误:

Install-Package : Unable to find dependent package(s) (Microsoft.IdentityModel.Tokens)

我究竟做错了什么?我通常是Linux人士,因此我的直觉是我缺少适当的存储库,但我不知道如何解决该问题。

And*_*lin 8

这有点难以找到,但这是我的解决方案。如果Get-PackageSource告诉你没有 NuGet 注册为包源,那么我们首先注册它:

Register-PackageSource -provider NuGet -name nugetRepository -location https://www.nuget.org/api/v2

之后它应该工作。

不过我还有另一个问题。我确实注册了 NuGet,但很明显,这个 PowerShell cmdlet 希望与 NuGet 的 v2 API 版本一起使用,而我注册了 v3。有两种解决方案:要么重新注册正确的版本,要么

Unregister-PackageSource -Name nuget.org (首先检查名称)然后使用较早的命令注册正确的版本

或者

在 Find(和其他)命令中明确指定正确的 API 版本:

Find-Package System.IdentityModel.Tokens.Jwt -Source https://www.nuget.org/api/v2. Gihub 上有一个问题提供了这个解决方案。