NuGet 程序包名称、版本和资产名称规范化 - CodeArtifact

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

NuGet 程序包名称、版本和资产名称规范化

在存储程序包名称、资产名称和程序包版本之前,CodeArtifact 会对程序包名称、资产名称和程序包版本进行规范化,这意味着 CodeArtifact 中的名称或版本可能与发布程序包或资产时提供的名称或版本不同。

程序包名称规范化:CodeArtifact 通过将所有字母转换为小写来使 NuGet 程序包名称规范化。

程序包版本规范化:CodeArtifact 使用与 NuGet 相同的模式对 NuGet 程序包版本进行规范化。以下信息来自 NuGet 文档中的规范化版本号

  • 从版本号中删除前导零:

    • 1.00 视为 1.0

    • 1.01.1 视为 1.1.1

    • 1.00.0.1 视为 1.0.0.1

  • 版本号第四部分中的零会省略掉:

    • 1.0.0.0 视为 1.0.0

    • 1.0.01.0 视为 1.0.1

  • 删除 SemVer 2.0.0 构建元数据:

    • 1.0.7+r3456 视为 1.0.7

程序包资产名称规范化:CodeArtifact 根据规范化的程序包名称和程序包版本来构造 NuGet 程序包资产名称。

API 和 CLI 请求中可使用非规范化程序包名称和版本名称,因为 CodeArtifact 会对这些请求的程序包名称和版本输入进行规范化。例如,--package Newtonsoft.JSON--version 12.0.03.0 的输入会规范化,并返回一个使用规范化程序包名称 newtonsoft.json 和版本 12.0.3 的程序包。

必须在 API 和 CLI 请求中使用规范化程序包资产名称,因为 CodeArtifact 不会对 --asset 输入执行规范化。

必须在 ARN 中使用规范化名称和版本。

要查找程序包的规范化名称,请使用 aws codeartifact list-packages 命令。有关更多信息,请参阅列出程序包名称

要查找程序包的非规范化名称,请使用 aws codeartifact describe-package-version 命令。displayName 字段中返回程序包的非规范化名称。有关更多信息,请参阅查看和更新程序包版本详细信息和依赖项