如何替换工件中的包

How Can You Replace a Package in Artifacts

我们在 Azure DevOps Server 中有一个用于 NuGet 包的自定义源。上传 Microsoft.AspNetCore.Authentication.Core 2.2.0 包时出了点问题,现在我们的提要中有一个错误的包。

根据,几年前的问答,无法更换包,只能增加数量并推送新版本。

当我们无法控制包的版本号,需要更换坏上传的时候怎么办?

现在,我们能看到的唯一选择是创建一个新的 Feed 并重新上传旧 Feed 中的所有内容。

What are supposed to do when we don't control the version number of the package and need to replace the bad upload?

正如我在那个帖子中提到的,为了避免污染包源,MS严格控制包版本,不允许上传具有相同版本号的较新修订包,或删除它并上传新的相同版本的包。

所以,如果我们不控制包的版本号并且需要替换错误的上传,我们必须创建一个新的提要来保存这个指定的包。

顺便说一句,如果您不想重新上传旧 Feed 中的所有内容,您可以尝试以下解决方法:

  1. 上传包Microsoft.AspNetCore.Authentication.Core 2.2.0 到新 Feed。
  2. 从旧 Feed 中删除损坏的包。
  3. 将新提要添加为旧提要的上游来源。

现在,我们可以从旧提要恢复 nuget 包。

注意:13步骤的顺序不要颠倒,否则会出现409冲突错误,导致无法上传。