将包发布到 NuGet.org

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

NuGet.org 是一个包管理器,使开发人员能够共享可重用的代码。 NuGet 包是扩展名的压缩文件 .nupkg ,其中包含可在其他项目中使用的已编译代码。 NuGet.org 中托管的包可供世界各地的所有开发人员使用。

先决条件

创建项目

可以使用自己的 .NET 项目生成和生成 NuGet 包,或创建新的基本 .NET 类库,如下所示:

  1. 在 Visual Studio 中,依次选择“文件”、“新建”、“项目”。

  2. 选择类库(.NET Standard)模板,然后选择“下一步”。

  3. 命名项目和解决方案,然后选择一个位置以在本地保存项目。 完成后,选择“创建”。

    创建类库项目

模板类库足以创建 NuGet 包,因此在本教程中,我们将使用现有模板,我们不会编写任何其他代码。

设置和生成包

  1. 从解决方案资源管理器中选择项目,右键单击并选择属性,然后选择打包”。

  2. 填写表单并确保 程序包 ID 是唯一的,否则它可能与 NuGet.org 上的现有包冲突。常见的命名约定类似于:Company.Product.Feature。 如果要每次生成项目时生成包,请在生成检查框中选择“生成 NuGet 包”。

    配置包属性

  3. 从解决方案资源管理器中选择项目,右键单击并选择“包以生成.nupkg包。

    生成包

  4. 在输出窗口中检查 pack 命令的状态。

    包输出

生成 API 密钥

创建包 nupkg 后,我们几乎已准备好发布它,但首先需要生成 API 密钥以连接到 NuGet.org API。

  1. 登录到 NuGet.org 帐户,或者创建一个(如果尚未登录)。

  2. 选择用户名图标,然后选择 API 密钥

  3. 选择“创建,然后输入密钥的名称。 为密钥提供 推送新包和包版本 范围,并在 glob 模式字段中输入 * 以选择所有包。 完成后,选择“创建”。

    创建 API 密钥

  4. 选择“ 复制 ”并将 API 密钥保存到安全位置。 我们需要此密钥才能发布 NuGet 包。

    复制 API 密钥

将包发布到 NuGet.org

可以使用 Web UI、dotnet CLI 或 nuget.exe CLI 发布包。 我们将重点介绍如何使用本部分中的命令行发布包。 需要包的名称、API 密钥和源 URL 才能执行此操作。

  1. 在提升的命令提示符下,导航到包含包 nupkg 的文件夹。

  2. 运行以下命令,将包发布到 NuGet.org。将占位符替换为包名称和 API 密钥。

    dotnet nuget push <packageName> --api-key <APIKey> --source https://api.nuget.org/v3/index.json
    
  3. 上一命令的输出应如下所示。

    发布包输出