从 VSTS 包源中取消列出所有版本的 nuget 包

Pet*_*ter 3 nuget nuget-server azure-devops

我的 Visual Studio Team Services (VSTS) 帐户的私有包源中有一个包,我想取消列出我的包的所有版本,因为它已被弃用并已被不同的包取代。因此我想将旧包标记为已弃用通过取消列出它(如果可能,不要删除它)

不幸的是我能找到的是一个按钮,unlists一个包的特定版本,就像描述这里。以这种方式删除我的旧包需要很长时间,因为在从我的提要中删除包之前,我必须轻松地取消列出 30 个版本。

我知道 nuget.org 具有只需单击一下即可取消列出包的所有版本的功能,我认为它是一项基本功能。有谁知道是否有一个技巧或隐藏按钮可以让我在 VSTS 中更轻松地取消列出包?或者是否有一个 nuget cli 命令?

Mar*_*Liu 5

无论是通过 VSTS web UI 还是 nuget cli,这些包都只能一一取消列出

取消列出包的格式为:

nuget delete <packageID> <packageVersion> [options]
Run Code Online (Sandbox Code Playgroud)

但是您可以编写自己的脚本来在循环中取消列出 VSTS 提要中的包。详细步骤如下:

1. 将 VSTS 提要添加为带有凭据的源

nuget sources add -Name "feedname" -Source "https://account.pkgs.visualstudio.com/_packaging/feedname/nuget/v3/index.json" -Username <Alternate username/email> -password <Alternate password/PAT>
Run Code Online (Sandbox Code Playgroud)

2.列出VSTS提要中的所有包

nuget list -source feedname -AllVersions
Run Code Online (Sandbox Code Playgroud)

3.将step2中得到的包进行循环,在循环中unlist

nuget delete packagename packageversion -source feedname -ApiKey key
Run Code Online (Sandbox Code Playgroud)