You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

是否存在NuGet API可将特定包版本标记为Deprecated?

如何通过NuGet API自动化标记包版本为Deprecated

NuGet.org确实提供了包版本弃用的API接口,属于NuGet Server API的一部分,完全可以通过HTTP请求实现自动化操作,不用依赖网页UI。

核心操作步骤

  • 认证要求:需要使用NuGet.org账户生成的API密钥,密钥必须拥有目标包的管理权限(生成密钥时勾选对应包的编辑权限即可)。
  • API端点:发送PUT请求到https://api.nuget.org/v3-flatcontainer/{package-id}/{package-version}/index.json,替换路径中的{package-id}和{package-version}为你的包ID和要弃用的版本号。
  • 请求体示例:提交JSON格式的配置,可指定弃用提示信息和替代版本(可选):
{
  "deprecated": true,
  "message": "该版本存在兼容性问题,请升级至最新稳定版",
  "replacement": {
    "packageId": "YourPackageId",
    "version": "3.1.0"
  }
}

基于NuGet.Protocol的实现思路

目前NuGet.Protocol库没有直接封装弃用操作的方法,但可以借助其底层HTTP能力或直接用HttpClient实现:

  1. 构造请求时带上认证头:X-NuGet-ApiKey: {你的API密钥}。
  2. 按上述端点和请求体格式发送PUT请求。
  3. 响应判断:返回204 No Content即为操作成功;若返回4xx/5xx状态码,需排查权限、包版本存在性等问题。

额外注意点

  • 弃用操作可撤销:再次发送PUT请求,将deprecated字段设为false即可取消版本弃用。
  • 批量操作可通过循环遍历目标版本列表,逐个发送请求完成。

内容的提问来源于stack exchange,提问作者Mr. T

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 16:59:50