跳至頁尾內容
.NET 幫助
什麼是 NuGet(開發者的工作原理教學)

NuGet是什麼?

一個能讓開發人員編寫、交換和使用功能性程式碼的系統,是任何現代開發平臺的重要組成部分。 這些功能代碼會以 "套件 "的形式綑綁在一起,這些套件也包括使用這些代碼的專案所需的其他材料,例如編譯代碼(以 DLL 的形式)。

Microsoft 支援的 .NET (包括 .NET Core) 代碼分享方法是 NuGet。 NuGet 可以為 .NET Framework 製作、託管和檢索套件。 NuGet 管理的軟體套件稱為 NuGet 套件。

NuGet 是什麼 NuGet 套件只是一個副檔名為 .nupkg 的壓縮檔。 它包含軟體運作所需的所有 DLL。 它還包含一個描述性的清單,列出套件的版本號碼等。 開發人員只需安裝 NuGet 套件,即可使用該套件所提供的方法。

NuGet 功能

  • NuGet adds private hosting support to the central nuget.org repository.
  • NuGet 提供開發人員建立、發佈和安裝套件所需的工具。
  • NuGet 會追蹤專案中使用的套件,並允許您從該清單中還原和更新這些套件。
  • NuGet 會追蹤所有與套件結構相關的規格,例如本地化以及套件的引用方式。
  • NuGet 提供許多 API 用於與其所有服務進行程式化互動,並支援發佈 Visual Studio 擴充套件的開發人員。
  • NuGet 包含套件快取和套件的全局資料夾,讓安裝和重新安裝更加容易。 如果套件已存在於本機,快取將不會從中央儲存庫下載,而是從快取提供套件。

NuGet 套件如何運作

NuGet, as a public host, maintains a central repository of over 100,000 unique packages. 每天都有數百萬的 .NET/.NET Core 開發人員使用這些套件。 NuGet 也可讓您在雲端 (例如 Azure DevOps)、私人網路、甚至本機檔案系統中私下託管套件。 因此,這些套件只能提供給能夠存取主機的開發人員,讓您可以將套件提供給特定的消費者群組。

無論是何種性質的主機,都是套件創造者與套件消費者之間的連結。 創造者開發有用的 NuGet 套件,並將其分發到主機。然後,消費者搜尋可存取的主機,尋找有用且相容的套件,下載這些套件並將其納入專案中。 一旦安裝在專案中,專案程式碼的其他部分就可以存取套件的 API。

What is NuGet, Figure 1

NuGet 工具

有六種工具可用於管理 NuGet 套件。

.NET CLI

它是針對 .NET Core 和 .NET Standard 程式庫的命令列介面 (CLI),以及針對 .NET Framework 的 SDK 式專案 (請參閱 SDK 屬性)。 某些 NuGet CLI 功能可直接在 .NET Core 工具鏈中使用。 .NET CLI 與 NuGet.exe CLI 一樣,不會與 Visual Studio 專案互動。

NuGet.exe CLI。

它是針對 .NET Framework 函式庫的 CLI,也是針對 .NET Standard 函式庫的非 SDK 式專案。 它提供了 .NET CLI 的所有功能,其中某些命令僅適用於套件建立者,而其他命令僅適用於消費者。 例如,套件建立者會使用 NuGet pack 指令從各種程式集和相關檔案產生套件。 套件使用者使用 NuGet install 將套件納入專案資料夾。 套件開發人員和套件使用者都使用 NuGet config 來設定 NuGet 配置變數。

NuGet CLI 不與 Visual Studio 專案互動,因為它是一個平台中立的工具。

套件管理員控制台

Package Manager Console 提供 PowerShell 指令,用於在 Visual Studio 專案中安裝和管理套件。

套件管理員 UI

Package Manager UI 提供了一個友善的使用者介面,用於在 Visual Studio 中安裝和管理專案的套件。

管理 NuGet 套件管理員 UI。

此工具也提供一個友善的使用者介面,用於在 Visual Studio 中的專案中安裝和管理套件。 此工具僅適用於 Mac 使用者。

MSBuild

MSBuild 允許使用者直接從 MSBuild 工具鏈建立和還原專案中使用的套件。

Package Manager UI 和 Package Manager Console 是管理 NuGet 套件最廣泛使用的工具。 現在我們將探討它們的使用方式。

NuGet 套件管理員使用者介面的使用。

在 Visual Studio 中,從頂部功能表列按一下工具,然後選擇 NuGet Package Manager > Manage NuGet package for Solutions。

新視窗將如下所示。

What is NuGet, Figure 2

在"已安裝"標籤中,所有已安裝的 NuGet 套件都會出現在這裡。

按一下瀏覽按鈕,然後在搜尋列中寫入套件名稱。 我們將以 IronBarcode 為例進行搜尋。

What is NuGet, Figure 3

按一下安裝按鈕,程式庫即會安裝完成並可供使用。

IronBarcode NuGet Package Details 是 Iron Software 開發和維護的函式庫,可協助 C# 軟體工程師在 .NET 應用程式中讀寫條碼和 QR 碼。

核心功能包括

  • 從影像或 PDF 讀取單一或多個 BarCode 和 QR 代碼。
  • 針對傾斜、方向、雜訊、低解析度、對比等進行影像修正。
  • 建立 BarCode 並將其套用至影像或 PDF 文件。
  • 將 BarCode 嵌入 HTML 文件。
  • 為 BarCode 設定樣式,並新增註解文字。
  • QR Code Writing 可加入標誌、顏色和進階 QR 對齊方式。

從產品 說明文件頁面瞭解更多關於 IronBarcode 的資訊。

套件管理員控制台的使用

在 Visual Studio 中,點擊頂部功能表列中的工具,然後選擇 NuGet Package Manager => Package Manager 主控台。

Package Manager Console 視窗會如下所示。

What is NuGet, Figure 4

讓我們使用套件管理員控制台安裝套件。

Install-Package 'package-Name' 指令用於安裝套件。 例如,安裝 IronOCR 套件:

Install-Package IronPdf

Explore IronOCR for .NET NuGet Package 是一個 C# 軟體函式庫,可讓 .NET 軟體開發人員偵測並讀取影像和 PDF 文件中的文字。 它使用目前已知最先進的 Tesseract 引擎。 IronOCR在處理真實世界中充滿瑕疵(如數位雜訊、低品質解析度等)的影像時,優於所有其他 OCR 函式庫。 它支援多種程式語言。

產品網站閱讀更多關於 IronOCR 的技術文件

一些有用的 NuGet 套件

本節將介紹一些可用於處理資料庫和檔案的實用 NuGet 套件。

實體框架

Discover Entity Framework NuGet Package 是最常用且功能最強大的 NuGet Package,可用於在 .NET 應用程式中使用資料庫。

它是微軟支援的開放原始碼 ORM 架構,可讓開發人員使用特定領域的物件來處理資料,而不是使用儲存資料的底層資料庫表和列。 在處理資料時,開發人員可以在較高的抽象層級上工作。 這可讓他們以比傳統應用程式更少的程式碼,建立並維護以資料為導向的應用程式。

有獨立的 NuGet 套件可用於管理 SQL server、Oracle、MySQL 和 PostgreSQL 資料庫伺服器。

Getting-Started Guide for Entity Framework 提供更多關於 Entity Framework 功能的資訊。

IronPDF。

IronPDF NuGet Package 解決了在應用程式中加入 PDF 處理功能的難題。IronPDF可將格式化的文件自動轉換為 PDF,也允許開發人員建立、編輯和匯出 PDF 文件。

IronPdf 的主要功能包括:

  • 使用 .NET 將 Web 表單、本機 HTML 頁面及其他網頁轉換為 PDF。
  • 允許使用者下載文件、透過電子郵件傳送文件或將文件儲存在雲端。
  • 製作發票、報價、報告、合約及其他文件。
  • 使用 ASP .NET、ASP .NET Core、web 表單、MVC、.NET Framework 上的 Web API 和 .NET Core 進行工作。

請在 IronPDF 的 產品文件頁面閱讀更多關於 IronPDF 的資訊。

IronXL。

IronXL NuGet Package 可幫助 C# 軟體工程師在 .NET 應用程式中讀取、建立和編輯試算表檔案。 IronXL在不使用 Office Excel Interop 的情況下也能運作良好,並且不需要額外的相依性,也不需要安裝 Microsoft Office。

您可以從 全面的產品說明文件瞭解更多關於 IronXL 的資訊。

Iron Software 在一個 .NET Suite 中提供所有五個函式庫 (IronPDF、IronXL、IronBarcode、IronWebScraper 和 IronOCR)。 當您購買全套套件時,您可以用兩個函式庫的價格獲得所有五個函式庫。所有購買都包含終身產品支援。

摘要

NuGet 是 .NET 應用程式的套件管理員。 NuGet 客戶端工具提供建立、分享及擷取套件的功能。 NuGet Gallery 是所有套件作者和消費者使用的中央套件儲存庫。

  • NuGet provides the central nuget.org repository with support for private hosting.
  • NuGet 提供開發人員建立、發佈和安裝套件所需的工具。
  • NuGet 維護專案中使用的套件參考,並能從該清單中還原和更新這些套件。

常見問題解答

如何在C#中將HTML轉換為PDF?

您可以使用 IronPDF 的RenderHtmlAsPdf方法將 HTML 字串轉換為 PDF。您也可以使用RenderHtmlFileAsPdf方法將 HTML 檔案轉換為 PDF。

NuGet是什麼?它對.NET開發人員為何如此重要?

NuGet 是一個套件管理系統,它允許 .NET 開發人員有效地建立、共用和使用打包程式碼。它簡化了第三方程式庫和依賴項的管理,確保使用正確的版本,並簡化了套件的更新和還原。

如何使用 .NET CLI 安裝 NuGet 套件?

若要使用 .NET CLI 安裝 NuGet 套件,可以使用指令dotnet add package [PackageName] 。此命令會將指定的套件加入您的專案中,從而簡化套件管理流程。

在 Visual Studio 中管理 NuGet 套件必須使用哪些工具?

在 Visual Studio 中管理 NuGet 套件的基本工具包括套件管理器 UI、套件管理器控制台和 .NET CLI。這些工具可以有效率地瀏覽、安裝和更新專案中的套件。

使用私人託管託管 NuGet 套件有哪些好處?

NuGet 套件的私人託管允許開發人員在特定群組或組織內安全地共用套件。這確保只有授權使用者才能存取某些套件,從而增強安全性並更好地控製程式碼分發。

NuGet 套件管理器控制台如何簡化套件管理?

Visual Studio 中的 NuGet 套件管理器控制台可讓開發人員直接在開發環境中執行安裝、更新和管理套件的命令。這為高效地處理包依賴關係和版本提供了一個強大的介面。

清單檔案在 NuGet 套件中扮演什麼角色?

NuGet 套件中的清單檔案包含元數據,例如套件的版本號碼和其他重要資訊。這些元資料對於識別、管理和解析專案中的依賴關係至關重要。

NuGet 可以用於非 .NET 專案嗎?

NuGet 主要針對 .NET 專案設計,但其基礎架構也支援其他各種專案的套件管理。然而,在 .NET 生態系中,NuGet 的全部潛能和功能才能得到最佳發揮。

NuGet 中的快取機制如何簡化套件管理?

NuGet 的快取機制允許將套件資料儲存在本地,從而簡化套件的安裝和重新安裝。這減少了從中央儲存庫重複下載套件的需要,並加快了開發過程。

有哪些常用的 NuGet 套件?

常用的 NuGet 套件包括用於資料庫互動的 Entity Framework、用於 PDF 處理的 IronPDF 以及用於操作電子表格的 IronXL。這些套件為開發人員提供了強大的工具來增強其 .NET 應用程式。

Jacob Mellor,Team Iron 首席技術官
首席技術長

Jacob Mellor 是 Iron Software 的首席技術官,也是一位富有遠見的工程師,率先開發了 C# PDF 技術。作為 Iron Software 核心程式碼庫的最初開發者,他自公司成立之初便參與塑造了其產品架構,並與執行長 Cameron Rimington 一起將其發展成為一家擁有 50 多名員工、服務於 NASA、特斯拉和全球政府機構的公司。

Jacob 於 1998 年至 2001 年在曼徹斯特大學獲得土木工程一級榮譽學士學位。 1999 年,他在倫敦創辦了自己的第一家軟體公司;2005 年,他創建了自己的第一個 .NET 元件。此後,他專注於解決微軟生態系統中的複雜問題。

他的旗艦產品 IronPDF 和 IronSuite .NET 庫在全球 NuGet 上的安裝量已超過 3000 萬次,其基礎程式碼持續為全球開發者工具提供支援。憑藉 25 年的商業經驗和 41 年的程式設計專長,Jacob 始終致力於推動企業級 C#、Java 和 Python PDF 技術的創新,同時指導下一代技術領導者。