我一直在关注 How to Publish a Package to nuget.org gallery 上的文档,但我一直收到 403 禁止消息。
我已完成以下步骤:
$ nuget.exe push .\Test.1.2.3.nupkg -Source https://api.nuget.org/v3/index.json -Apikey <apikey>
我不断得到:
Pushing Test.1.2.3.nupkg to 'https://www.nuget.org/api/v2/package'...
PUT https://www.nuget.org/api/v2/package/
Forbidden https://www.nuget.org/api/v2/package/ 2238ms
Response status code does not indicate success: 403 (The specified API key is invalid, has expired, or does not have permission to access the specified package.).
这是为什么??
我遇到了同样的问题,这就是我解决这个问题的方法,我已经在 DotNet Framework 上尝试过这个
使用
nuget spec
构建项目后,会生成 Nuspec
文件,请尝试将 Nuspec 文件名保留为 Unique,您可以打开 Nuspec
文件并对其进行编辑
使用
nuget pack <project-name>.nuspec
生成Nuget包,这将生成Nuget包(注意:Nuget包名称将根据Nuspec文件中可用的ID生成)
现在您可以使用
dotnet nuget push <nuget package name> --api-key <api-key> --source https://api.nuget.org/v3/index.json
推送 Nuget 包
进入工具-->Nuget包管理器-->包管理器设置-->进入包源并删除所有现有的包源。
单击右上角的加号按钮,在源中添加最新的 Api 密钥,然后单击更新按钮。 您可以在以下网址轻松获取 Api 密钥:
https://learn.microsoft.com/en-us/nuget/api/overview
这对我有用。
错误消息显示“指定的 API 密钥无效、已过期或无权访问指定的包。”
您可以查看此链接
如果您使用刚刚创建的有效 API 密钥,则此消息表示存在命名冲突,从错误的“权限”部分来看,这一点并不完全清楚。更改包标识符,重建项目,重新创建 .nupkg 文件,然后重试推送命令。
希望能解决您的问题。