跳至頁尾內容
開發者更新
什麼是NuGet(其如何為開發者工作教學)

NuGet 是什麼

讓開發人員能撰寫、交換和使用功能程式碼的系統是任何現代開發平台的重要組成部分。 這些功能程式碼被打包成"套件",其中也包括項目需要的其他材料,如編譯好的程式碼(以DLL的形式)。

Microsoft支援的.NET(包括.NET Core)的程式碼共享方法是NuGet。 NuGet使.NET Frameworks的套件的生產、託管和檢索成為可能。 NuGet管理的軟體套件被稱為NuGet套件。

什麼是NuGet? 一個NuGet套件就是一個擴展名為.nupkg的壓縮檔案。 它包含所有讓軟體運行所需的DLL。 它還包含一個描述性清單,其中列出了套件的版本號等資訊。 開發人員只需安裝NuGet套件,就可以使用該套件提供的方法。

NuGet功能

  • NuGet為中央nuget.org儲存庫增加了私有託管支持。
  • NuGet提供開發人員建立、發布和安裝套件所需的工具。
  • NuGet跟踪項目中使用的套件,並允許您從該列表中恢復和更新這些套件。
  • NuGet跟踪所有與套件結構相關的規範,如本地化和它們的引用方式。
  • NuGet提供了許多用於程式化與其所有服務交互的API,並支持為Visual Studio的擴展功能的開發者。
  • NuGet包括一個套件快取和一個全球資料夾,以便於安裝和重新安裝。 如果當前裝置中已存在一個套件,快取將不會從中央儲存庫中下載,而是直接從快取中為您提供該套件。

NuGet套件的工作原理

作為公共託管平臺,NuGet維護了一個擁有超過100,000個獨特包的中央儲存庫。 每天有數百萬.NET/.NET Core開發者使用這些套件。 NuGet還讓您可以在雲中(例如Azure DevOps)、私有網路中甚至是本地文件系統中私人託管套件。 因此,這些套件只對那些可以存取託管者的開發人員可見,使您能將套件提供給特定的消費者群體。

無論託管者的性質如何,他們之間充當了套件創造者和消費者之間的聯繫。 創造者開發有用的NuGet套件並將其分發給託管者,消費者則在可存取的託管者中搜尋有用且相容的套件,然後下載並將其包含在他們的項目中。 一旦在專案中安裝,該套件的API可供專案的其餘程式碼存取。

What is NuGet, Figure 1

NuGet工具

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

.NET CLI

這是一個用於.NET Core和.NET Standard庫,以及針對.NET Framework(見SDK屬性)的SDK風格項目指令行介面(CLI)。 某些NuGet CLI功能直接在.NET Core工具鏈中可用。 .NET CLI和nuget.exe CLI一樣,不和Visual Studio專案進行交互。

NuGet.exe CLI

這是一個面向.NET Framework庫和非SDK風格項目指令行介面(CLI),旨在為.NET Standard庫。 它提供了.NET CLI的所有功能,有些命令只適用於套件建立者,而其他命令則僅適用於消費者。 例如,套件建立者使用NuGet pack命令從各種程式集和相關文件生成一個套件。 套件使用者透過NuGet install將套件新增到項目文件夾中。 套件開發者和使用者都使用NuGet config來設置NuGet配置變數。

由於它是一個平台無關的工具,NuGet CLI不和Visual Studio專案進行交互。

套件管理員控制台

套件管理員控制台為在Visual Studio專案中安裝和管理套件提供PowerShell命令。

套件管理員UI

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

管理NuGet套件管理員UI

此工具還提供在Visual Studio專案中安裝和管理套件的使用者友好介面。 此工具僅供Mac使用者使用。

MSBuild

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

套件管理器UI和套件管理員控制台是管理NuGet套件最常用的工具。 我們現在將探索它們的使用方式。

NuGet套件管理器UI的使用

在Visual Studio中,單擊頂部選單欄中的工具,然後選擇NuGet套件管理器 > 管理解決方案的NuGet封裝。

一個新窗口將如下面所示出現。

What is NuGet, Figure 2

在已安裝標籤中,這裡將顯示所有已安裝的NuGet套件。

點擊瀏覽按鈕,並在搜尋欄中輸入套件名稱。 我們將以搜尋IronBarcode為例。

What is NuGet, Figure 3

點擊安裝按鈕,該程式庫將被安裝並已備使用。

IronBarcode NuGet Package 詳細資訊 是由Iron Software開發和維護的一個程式庫,協助C#軟體工程師在.NET應用程式中讀取和寫入條形碼及QR碼。

核心功能包括:

  • 從圖像或PDF中讀取單個或多個條形碼和QR碼。
  • 圖像校正,用於調侃、方向、噪音、低解析度、對比度等。
  • 建立條形碼並將其應用於圖像或PDF文件中。
  • 將條形碼嵌入到HTML文件中。
  • 設計條形碼並新增註釋文字。
  • QR碼寫作允許新增標誌、顏色和高級QR對齊。

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

套件管理控制台的使用

在Visual Studio中,單擊頂部選單欄中的工具,然後選擇NuGet封裝管理器 => 封裝管理控制台。

將顯示套件管理控制台窗口,如下所示。

What is NuGet, Figure 4

讓我們使用封裝管理控制台安裝一個封裝。

Install-Package 'package-Name'用於安裝封裝. 例如,安裝IronOCR封裝:

Install-Package IronPdf

瀏覽 IronOCR NuGet 封裝 是一個 C# 軟體庫,允許 .NET 軟體開發人員從圖像和 PDF 文件中檢測和讀取文字。 它運用了目前已知最先進的 Tesseract 引擎。 IronOCR在處理充滿瑕疵的實際圖像(例如,數位噪點、低品質解析度等)時,勝過所有其他OCR函式庫。 它支持多種編程語言。

產品網站技術文件中瞭解更多關於IronOCR的資訊。

一些有用的NuGet封裝

這一部分將描述一些可用於處理資料庫和文件的有用NuGet封裝。

Entity Framework

發現Entity Framework NuGet Package 是在.NET應用程式中處理資料庫的最常見和最強大的NuGet包。

它是一個由Microsoft支援的開源ORM框架,允許開發人員使用特定領域的物件來處理資料,而不是使用儲存資料的基本資料表和資料列。 在處理資料時,開發者可以在更高水平的抽象中工作。 這樣可以使他們比傳統應用程式撰寫更少的程式碼來建立和維護面向資料的應用程式。

有單獨的NuGet包用於管理SQL伺服器、Oracle、MySQL, 和 PostgreSQL資料庫伺服器。

Entity Framework 入門指南 提供了更多有關Entity Framework功能的資訊。

IronPDF

IronPDF NuGet 套件 解決了在應用程式中新增 PDF 處理能力的難題。IronPDF 自動化將格式化文件轉換為 PDF,並允許開發人員建立、編輯和導出 PDF文件。

IronPDF 的主要功能包括:

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

產品文件頁面中讀取更多有關IronPDF的資訊。

IronXL

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

您可以從全面的產品文件中學習更多關於IronXL的資訊。

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

總結

NuGet是.NET應用程式的套件管理員。 NuGet客戶端工具提供建立、共享和檢索套件的能力。 NuGet Gallery是所有套件作者和消費者使用的中央包儲方法。

  • NuGet為中央nuget.org儲存庫提供針對私有託管的支持。
  • 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包的必備工具包括Package Manager UI、Package Manager Console以及.NET CLI。這些工具允許在您的專案中高效地瀏覽、安裝和更新套件。

使用私有NuGet包託管有什麼優勢?

私有NuGet包託管允許開發者在特定的群組或組織內安全地共享套件。這確保只有授權使用者能存取某些套件,增強了程式碼分發的安全性和控制性。

NuGet Package Manager Console如何促進包管理?

Visual Studio中的NuGet Package Manager Console允許開發者直接在開發環境中執行安裝、更新和管理包的命令。這提供了一個強大的介面,用於有效處理包的依賴關係和版本。

清單在NuGet包中扮演什麼角色?

NuGet包中的清單包含元資料,如包的版本號和其他重要資訊。這些元資料對於在專案中識別、管理和解決依賴關係至關重要。

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

雖然NuGet主要設計用於.NET專案,但其基礎架構可以支持各類其他專案的包管理。不過,其全部潛力和功能在.NET生態系統中可獲得最佳利用。

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

NuGet的快取機制通過本地儲存包資料來實現輕鬆的包安裝和重新安裝。這減少了反覆從中央儲存庫下載包的需求,加快了開發過程。

一些流行的NuGet包例子是什麼?

流行的NuGet包包括用於資料庫交互的Entity Framework、用於PDF處理的IronPDF和用於操作工作表的IronXL。這些包為開發者提供強大的工具來增強他們的.NET應用程式。

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

Jacob Mellor是Iron Software的首席技術官,一位在C# PDF技術上開創先河的遠見工程師。作為Iron Software核心程式碼庫的原開發者,他從創立以來就一直在塑造公司的產品架構,與首席執行官Cameron Rimington一起將公司轉變為服務於NASA、特斯拉和全球政府公司的50多名人員的公司。

Jacob擁有曼徹斯特大學的土木工程一等榮譽學士學位(BEng),於1998-2001年之間獲得。在1999年於倫敦創辦他的第一家軟體公司並於2005年建立了他的第一批.NET元組件後,他專注於解決Microsoft生態系統中的複雜問題。

他的旗艦IronPDF和Iron Suite .NET程式庫在全球獲得了超過3000萬次NuGet安裝依據,他的基礎程式碼基繼續支援著世界各地開發者使用的工具。擁有25年的商業經驗和41年的程式設計專業知識,他仍專注於推動企業級C#、Java和Python PDF技術的創新,同時指導下一代技術領導者。

Iron 支援團隊

我們線上24小時,每週5天。
聊天
電子郵件
給我打電話