如何将 Azure DevOps feed 上的 NuGet 包标记为已弃用,以使用 nuget 搜索或 dotnet list 包 --deprecated?

问题描述 投票:0回答:1

在 Azure DevOps Builds 中,检查是否已弃用和易受攻击的 nuget 包可以很好地使用:

dotnet list "HappySolution.sln" package --deprecated --source https://api.nuget.org/v3/index.json --include-transitive
dotnet list "HappySolution.sln" package --vulnerable --source https://api.nuget.org/v3/index.json --include-transitive

这对于通过 nuget.org 提供的包非常有用,但是 Azure DevOps 中的本地包源中的内部包永远不应该发布到 nuget.org。 构建如何检查这些内部包现在是否已弃用?

可以为每个解决方案生成包列表,然后与已弃用的包升级为的“已弃用”视图的结果进行比较:

nuget list -source https://happy.sos/DefaultCollection/_packaging/InternalNuget@Deprecated/nuget/v3/index.json -AllVersions

但是

nuget list
现已弃用,取而代之的是
nuget search
,它不支持
-AllVersions
选项。

换句话说,

dotnet list "HappySolution.sln" package --deprecated --source https://happy.sos/DefaultCollection/_packaging/InternalNuget@Deprecated/nuget/v3/index.json --include-transitive

始终返回给定项目没有已弃用的包(内部需要时)。

azure-devops tfs nuget azure-devops-rest-api nuget-server
1个回答
0
投票

如果您使用 Azure Artifacts 托管自己的自定义 NuGet 源,则 已弃用的包功能尚不可用

您只能使用 Azure Artifacts 取消列出/删除包。

顺便说一句,许多其他自定义 NuGet 源解决方案确实支持该功能,如果您需要该功能,可以迁移到该功能。

© www.soinside.com 2019 - 2024. All rights reserved.