使用 Visual Studio 快速创建 NuGet 程序包并发布到 NuGet 官网

前言

在前面的 .NET EF Core 快速入门实战教程章节中我们创建了一个名为 EFCoreGenericRepository 的 .NET 9 通用仓储类库,今天我们来把这个 EF Core 通用仓储类库打包成 NuGet 程序包并发布到 NuGet 官网(https://www.nuget.org),并在项目中引入我们发布的 NuGet 程序包。

本文将使用 Visual Studio 2022 将 .NET 类库制作为 NuGet 包,然后使用 .NET CLI 工具将其发布到 NuGet 官网(https://www.nuget.org)。

使用 Visual Studio 快速创建 NuGet 程序包并发布到 NuGet 官网

NuGet 简介

NuGet 包是具有 .nupkg 扩展的单个 ZIP 压缩文件,此扩展包含编译代码 (DLL)、与该代码相关的其他文件以及描述性清单(包含包版本号等关键信息)。使用代码的开发人员共享创建包,并将其发布到公用或专用主机。包使用者从适合的主机获取这些包,将它们添加到项目,然后在其项目代码中调用包的功能。在此过程中,NuGet 会自动处理所有底层依赖和安装细节。

使用 Visual Studio 快速创建 NuGet 程序包并发布到 NuGet 官网

在 NuGet.org 上注册个人帐户

必须注册个人帐户才能在 NuGet 官网(https://www.nuget.org) 上发布和管理包。

使用 Visual Studio 快速创建 NuGet 程序包并发布到 NuGet 官网

使用 Visual Studio 快速创建 NuGet 程序包并发布到 NuGet 官网

创建并获取 NuGet 包的 API 密钥

选择右上角的用户名,然后选择 API keys:

使用 Visual Studio 快速创建 NuGet 程序包并发布到 NuGet 官网

创建 NuGet 包的 API 密钥:

使用 Visual Studio 快速创建 NuGet 程序包并发布到 NuGet 官网

 

获取 NuGet 包的 API 密钥:

注意密钥复制一次后就不能再复制 API 密钥了,需要再复制 API 密钥的话则需要点击重新生成按钮。

使用 Visual Studio 快速创建 NuGet 程序包并发布到 NuGet 官网

使用 Visual Studio 快速创建 NuGet 程序包并发布到 NuGet 官网

配置包的属性

EFCoreGenericRepository 类库 => 属性 => 填写相关包的配置信息:

使用 Visual Studio 快速创建 NuGet 程序包并发布到 NuGet 官网

生成 NuGet 包

方式一、在构建时生成 NuGet 包

属性 => 常规 => 勾选在生产操作期间创建包文件 => 切换为Release => 重新生成:

使用 Visual Studio 快速创建 NuGet 程序包并发布到 NuGet 官网

使用 Visual Studio 快速创建 NuGet 程序包并发布到 NuGet 官网

使用 Visual Studio 快速创建 NuGet 程序包并发布到 NuGet 官网

方式二、使用 .NET CLI 生成 NuGet 包

在项目根目录(含 .csproj 的目录)执行,在 Release 配置下打包(推荐):

dotnet pack -c Release

使用 Visual Studio 快速创建 NuGet 程序包并发布到 NuGet 官网

使用 Visual Studio 快速创建 NuGet 程序包并发布到 NuGet 官网

使用 .NET CLI 发布 NuGet 包

接下来我们使用 .NET CLI 来发布生成好的 NuGet 包到 NuGet 官网(https://www.nuget.org)中。

在包含 .nupkg 文件的文件夹运行以下命令。指定 .nupkg 文件名,并将密钥值替换为 API 密钥。

dotnet nuget push EFCoreGenericRepository.1.2.0.nupkg --api-key 你的API密钥 --source https://api.nuget.o

使用 Visual Studio 快速创建 NuGet 程序包并发布到 NuGet 官网

在 NuGet.org 上查看发布成功的 NuGet 包

使用 Visual Studio 快速创建 NuGet 程序包并发布到 NuGet 官网

  • https://www.nuget.org/packages/EFCoreGenericRepository/

使用 Visual Studio 快速创建 NuGet 程序包并发布到 NuGet 官网

使用 Visual Studio 快速创建 NuGet 程序包并发布到 NuGet 官网

在项目中引入发布成功的 NuGet 包

.NET CLI 命令安装

dotnet add package EFCoreGenericRepository --version 1.2.0

NuGet 包管理中安装和使用

NuGet 包安装

使用 Visual Studio 快速创建 NuGet 程序包并发布到 NuGet 官网

使用 Visual Studio 快速创建 NuGet 程序包并发布到 NuGet 官网

使用 Visual Studio 快速创建 NuGet 程序包并发布到 NuGet 官网

NuGet 包使用

var _repository = new Repository<SchoolDbContext>(new SchoolDbContext());
var teachers = _repository.GetAllAsync<TeacherInfo>().Result;

使用 Visual Studio 快速创建 NuGet 程序包并发布到 NuGet 官网

更多 Visual Studio 实用功能

使用 Visual Studio 快速创建 NuGet 程序包并发布到 NuGet 官网

发表评论

评论已关闭。

相关文章