使用 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)。
- GitHub:https://github.com/YSGStudyHards/EFCoreExercise
- Gitee:https://gitee.com/ysgdaydayup/EFCoreExercise

NuGet 簡介
NuGet 包是具有 .nupkg 擴展的單個 ZIP 壓縮文件,此擴展包含編譯代碼 (DLL)、與該代碼相關的其他文件以及描述性清單(包含包版本號等關鍵信息)。使用代碼的開發人員共享創建包,并將其發布到公用或專用主機。包使用者從適合的主機獲取這些包,將它們添加到項目,然后在其項目代碼中調用包的功能。在此過程中,NuGet 會自動處理所有底層依賴和安裝細節。

在 NuGet.org 上注冊個人帳戶
必須注冊個人帳戶才能在 NuGet 官網(https://www.nuget.org) 上發布和管理包。


創建并獲取 NuGet 包的 API 密鑰
選擇右上角的用戶名,然后選擇 API keys:

創建 NuGet 包的 API 密鑰:

獲取 NuGet 包的 API 密鑰:
注意密鑰復制一次后就不能再復制 API 密鑰了,需要再復制 API 密鑰的話則需要點擊重新生成按鈕。


配置包的屬性
EFCoreGenericRepository 類庫 => 屬性 => 填寫相關包的配置信息:

生成 NuGet 包
方式一、在構建時生成 NuGet 包
屬性 => 常規 => 勾選在生產操作期間創建包文件 => 切換為Release => 重新生成:



方式二、使用 .NET CLI 生成 NuGet 包
在項目根目錄(含 .csproj 的目錄)執行,在 Release 配置下打包(推薦):
dotnet pack -c Release


使用 .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

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

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


在項目中引入發布成功的 NuGet 包
.NET CLI 命令安裝
dotnet add package EFCoreGenericRepository --version 1.2.0
NuGet 包管理中安裝和使用
NuGet 包安裝



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

更多 Visual Studio 實用功能

作者名稱:追逐時光者
作者簡介:一個熱愛編程、善于分享、喜歡學習、探索、嘗試新事物和新技術的全棧軟件工程師。
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文鏈接,否則保留追究法律責任的權利。如果該篇文章對您有幫助的話,可以點一下右下角的【♥推薦♥】,希望能夠持續的為大家帶來好的技術文章,文中可能存在描述不正確的地方,歡迎指正或補充,不勝感激。

浙公網安備 33010602011771號