.NET 幫助

什麼是NuGet?

發佈 2022年10月30日
分享:

允許開發者編寫、交換和使用功能性代碼的系統是任何現代開發平台的重要組成部分。 這些功能代碼被打包在“包”中,還包括使用它們的項目所需的其他材料,如編譯代碼。(以 DLL 的形式).

Microsoft 支援的 .NET 代碼共享方法(包括 .NET Core)是 NuGet。 NuGet 允許為 .NET 框架生產、託管和擷取套件。 NuGet 管理的軟體包稱為 NuGet 套件。

什麼是NuGet? NuGet 套件只是一個擁有 .nupkg 副檔名的 zip 檔案。 它包含所有使軟體運行所需的 DLL。 它還包含一個描述性清單,其中列出了套件的版本號碼和其他項目。 開發人員只需安裝 NuGet 套件,即可使用該套件提供的方法。

NuGet 功能

  • NuGet 為中心新增私人託管支援 nuget.org 儲存庫。
  • NuGet 提供了開發人員所需的工具,用於創建、發布和安裝程序包。
  • NuGet 會追蹤專案中使用的套件,並允許您從該清單中還原和更新這些套件。
  • NuGet 追蹤所有與套件結構相關的規範,例如本地化以及套件如何被引用。
  • NuGet 提供了許多 API,可用於以程式化的方式與其所有服務互動,並為發佈 Visual Studio 擴充套件的開發人員提供支援。
  • NuGet 包含一個套件快取和一個全域資料夾,以便於安裝和重新安裝。 如果套件已經存在於本地機器上,快取將不會從中央儲存庫下載該套件,而是會從快取中提供該套件。

NuGet 套件如何運作

NuGet 作為公共主機,維護著一個包含超過的中央儲存庫 00,000個獨特的包裹. 每天都有數以百萬計的 .NET/.NET Core 開發人員使用這些套件。 NuGet 也允許您在雲端私下託管套件(例如,在 Azure DevOps 上)在私人網路上,甚至在本地檔案系統上。 因此,那些套件僅對有權訪問主機的開發人員可用,使您能夠將套件提供給特定的消費者群體。

無論其性質為何,主機皆充當套件創建者與套件消費者之間的連結。 創作者開發有用的 NuGet 套件並將其分發給主機。然後,使用者搜尋可訪問的主機以找到有用且兼容的套件,下載並將這些套件包含在其專案中。 一旦在項目中安裝,這些套件的 API 可以供整個項目代碼訪問。

什麼是NuGet,圖1

NuGet 工具

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

.NET CLI

它是一個命令行介面(命令行界面 (CLI))適用於 .NET Core 和 .NET Standard 的庫,以及針對 .NET Framework 的 SDK 風格項目(查看 SDK 屬性). 某些 NuGet CLI 功能可直接在 .NET Core 工具鏈中使用。 .NET CLI(如同 nuget.exe CLI)不會與 Visual Studio 專案互動。

NuGet.exe CLI

它是一個針對 .NET Standard 庫的 .NET Framework 庫和非 SDK 樣式項目的 CLI。 它提供 .NET CLI 的所有功能,其中一些命令仅适用于包创建者,而其他命令则仅适用于消费者。 例如,套件創造者使用 NuGet 包裝 從各種程序集和相關文件生成軟體包的命令。 套件用戶使用 NuGet 安裝 將套件包含在專案資料夾中。 套件開發者和套件使用者都使用 NuGet 配置 設定 NuGet 配置變數。

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

套件管理控制台

套件管理器主控台提供 PowerShell 命令,用於在 Visual Studio 專案中安裝和管理套件。

套件管理器使用者介面

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

管理 NuGet 套件管理器介面

此工具還提供了一個用戶友好的介面,用於在 Visual Studio 的專案中安裝和管理套件。 此工具僅適用於 Mac 用戶。

MSBuild

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

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

使用 NuGet 套件管理器 UI

在 Visual Studio 中,從頂部菜單列中點擊工具,然後選擇 NuGet 套件管理員 > 管理解決方案的 NuGet 套件。

將出現一個新視窗,如下所示。

請問什麼是 NuGet,圖 2

在「已安裝」標籤中,所有已安裝的 NuGet 套件將會顯示於此。

點擊瀏覽按鈕並在搜索欄中輸入包的名稱。 我們將搜尋IronBarcode作為一個例子。

什麼是 NuGet,圖3

點擊安裝按鈕,該庫將被安裝並準備就緒。

IronBarcode NuGet 套件詳情是由Iron Software開發和維護的庫,幫助C#軟體工程師在.NET應用程式中讀取和寫入條形碼和QR碼。

核心功能包括:

  • 從圖像或 PDF 中讀取單個或多個條碼和 QR 碼。
  • 圖像校正包括傾斜、方向、噪點、低解析度、對比度等。
  • 創建條碼並將其應用於圖像或 PDF 文件。
  • 將條碼嵌入到 HTML 文件中。
  • 樣式條碼並添加註解文字。
  • QR Code Writing 允許添加標誌、顏色和高級 QR 對齊。

    從產品中了解更多有關IronBarcode的信息文檔頁面.

使用套件管理器主控台

在 Visual Studio 中,從頂部菜單欄點擊「工具」,然後選擇「NuGet 套件管理員 => 套件管理員主控台」。

套件管理器主控台窗口將顯示如下。

什麼是NuGet,圖4

讓我們使用套件管理器主控台安裝一個套件。

Install-Package 'package-Name' 命令用於安裝這個套件。 例如:

Install-Package IronPdf

探索 IronOCR NuGet 包是一個 C# 軟體庫,允許 .NET 軟體開發人員從圖像和 PDF 文件中檢測和讀取文本。 它使用了現有最先進的 Tesseract 引擎。 IronOCR卓越無比其他 OCR 庫在處理充滿缺陷的現實世界圖像時(即,數位噪聲、低品質解析度等。). 它支持多種程式語言。

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

一些有用的NuGet套件

本節將描述一些有用的 NuGet 套件,這些套件可用於處理資料庫和文件。

實體框架

探索 Entity Framework NuGet 套件是用於在 .NET 應用程式中處理資料庫的最常見且功能強大的 NuGet 套件。

這是一個由微軟支持的開源 ORM 框架,允許開發人員使用域特定對象處理數據,而不是使用存儲數據的底層數據庫表和列。 在處理資料時,開發者可以在更高的抽象層次上工作。 這使他們能夠以比傳統應用程式更少的代碼創建和維護以數據為導向的應用程式。

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

入門指南:Entity Framework提供有關 Entity Framework 功能的更多信息。

IronPDF

IronPDF NuGet 套件解決了將 PDF 處理功能添加到應用程式的難題。IronPDF自動化將格式化文件轉換為 PDF,並允許開發人員創建、編輯和導出 PDF 文件。

IronPDF 的主要功能包括:

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

    在其網站上閱讀更多有關IronPDF的內容產品文件頁面.

IronXL

IronXL NuGet 套件幫助 C# 軟件工程師在 .NET 應用程式中讀取、創建和編輯電子表格文件。 IronXL運行良好而不需使用 Office Excel Interop,也不需要額外的依賴或安裝 Microsoft Office。

您可以從以下內容了解更多關於 IronXL 的資訊全面的產品文檔.

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

摘要

NuGet 是 .NET 應用程式的套件管理器。 NuGet 用戶端工具提供創建、分享和檢索套件的功能。 NuGet Gallery 是所有套件作者和使用者使用的中央套件庫。

  • NuGet 提供中心 nuget.org 支援私有託管的存儲庫。
  • NuGet 為開發人員提供創建、發佈和安裝程序包所需的工具。
  • NuGet 管理專案中使用的套件的參考,並能從該列表中還原和更新這些套件。
< 上一頁
Razor vs Blazor

準備開始了嗎? 版本: 2024.12 剛剛發布

免費 NuGet 下載 總下載次數: 11,622,374 查看許可證 >