获取不允许将 NuGet 发布到 VSTS / ADO 的 405 方法

Getting a 405 Method Not Allowed publishing NuGet to VSTS / ADO

我刚刚设置了一个新的 ADO(以前称为 VSTS/VSO)程序包管理源,我正在尝试从我的桌面向它发布一个本地 NuGet 程序包。我按照提要中的说明进行操作,但在尝试发布时收到“405 方法不允许”。

我按照“NuGet 3.3 + VSTS 凭据提供程序”的说明操作:“

nuget sources add -name "MyPackageFeedName" -source https://ACCOUNT_NAME.pkgs.visualstudio.com/_packaging/PACKAGE_FEED_NAME/nuget/v3/index.json

nuget push yourpackage.nupkg -Source https://ACCOUNT_NAME.pkgs.visualstudio.com/_packaging/PACKAGE_FEED_NAME/nuget/v3/index.json -ApiKey VSTS

回答:绝对确保您使用的是最新版本的 NuGet.exe。 运行 nuget 不带任何参数查看版本。

原来旧的 NuGet 版本 (2.8) 从 CScript 安装爬到我的 PATH 上。旧版本的 NuGet 可能无法正确推送到 v3 源,所以这就是它失败的原因。您可以使用以下命令检查您的 PATH:

where nuget(命令提示符)

Get-Command nuget (PowerShell)

我清理了我的 PATH,所以它只有最新版本的 NuGet.exe。然后,我就可以发布了。 This VSTS page on authentication 也很有帮助。

如果需要更新nuget,可以运行 nuget update -self.