跳過到頁腳內容
.NET幫助

NuGet 套件 (PDF, OCR, 條碼, Excel):更新列表

該 .NET 套件管理器庫稱為 NuGet。 C# 是開發人員最常用的語言之一,這表明它是一種非常高效的語言。 還有其他免費的 NuGet 套件可用,進一步提高 C# 的生產力。 NuGet 套件在各種 IDE 中都有,例如 Visual Studio。

我們可以在不同的環境中使用相同的 NuGet 套件,如 Web、Windows 和移動端等。我們可以在 Package Manager Console 中安裝具有較新版本的 NuGet 套件。 Visual Studio 內置有高性能的 NuGet 擴展。 使用 NuGet 包管理器,您可以在存儲庫中以方便的方式創建和消耗包。 它還有助於我們發佈包。

在 Visual Studio 源代碼控制項目中執行以下命令以添加 NuGet 套件:

dotnet add package --source {source_name} --version {package_version} {package_name}

參數描述

  • source_name:所需的 .NET 套件源名稱。
  • package_name:.NET/.NET Core 庫的 NuGet 套件名稱。
  • package_version:套件版本號。

本文介紹了提高在多個項目中使用 C# 生產力的前 10 大 NuGet 套件:

  • RestSharp
  • Json.NET
  • Iron Software
  • Serilog
  • NUnit
  • Insight.Database
  • FluentValidation
  • FluentEmail
  • Hangfire
  • LazyCache

RestSharp

表述性狀態傳輸被稱為 REST。RestSharp 的每日平均下載量超過 43,000 次,已經在 NuGet 上超過 1.9 億次下載。 它是 .NET 項目中使用最廣泛的 HTTP 客户端庫,使 C# 開發人員能夠輕鬆地通過 HTTP 調用遠程資源,負責將請求正文序列化為 JSON 或 XML 並在響應中進行反序列化。 RestSharp NuGet 套件的新版本支持:

  • 同步和異步查詢。
  • 序列化和反序列化。
  • 各種 HTTP 請求類型,包括 GET、POST、PUT 和 DELETE。
  • 不同的身份驗證格式。

Json.NET

Json.NET 是一個簡約的 JSON 處理庫。 Json.NET 擁有超過 10 億的 NuGet 下載/安裝量,是 .NET 平台上一個開源且免費的套件之一。 其顯著特徵如下:

  • 對任何 .NET 對象進行 JSON 序列化和反序列化。
  • 在 XML 和 JSON 與 C# 數據模型之間進行轉換。
  • 支持使用對象、JArray 和 JValue 進行 LINQ 查詢。
  • 性能比 JavaScriptSerializer 快 25%,比 DataContractJsonSerializer 快 50%。

Iron Software

對於用 PDF、OCR、Excel 和條形碼工作的 .NET 和 Entity Framework (EF) Core 編程人員來說,Iron Software 創建了一系列包含有用代碼的公共存儲庫軟件庫。 擁有超過 550 萬次下載量,它可以在 NuGet 包管理器中以不同的包名使用,具體描述如下。 Iron Software 產品的關鍵特點詳述如下。

IronXL

  • 從 XLS、XLSX、CSV 和 TSV 格式編輯、讀取和加載數據。
  • 將數據導出到 CSV、TSV、JSON、XLS 和 XLSX 用於存檔目的。
  • 列、行和範圍的排序。
  • 樣式功能,包括單元格視覺樣式、字體、大小、邊框、對齊、鎖定、凍結單元格、隱藏/顯示行和數字格式。
  • 簡單的 C# 和 VB.NET Excel 文檔 API。

IronBarcode

  • 支持各種條形碼類型和 QR 標準,包括 UPC、EAN、Code 39、QR、Data Matrix 等。
  • 預處理條形碼圖像以提高識讀準確性和速度。 這包括校正旋轉、噪音、失真和傾斜。 適用於使用多核系統進行批量處理的服務器程序。
  • 創建條形碼和 QR 碼用於各種文檔類型,允許進行文本、旋轉、大小、顏色和質量等格式的修改,如 PDF、JPG、TIFF 等。

IronOCR

  • 使用 Tesseract 5 引擎從圖像或 PDF 中提取文字、條形碼和 QR 碼。
  • 支持超過 125 種語言,允許自定義語言配置。
  • 與多頁 GIF 和 TIFF 圖像格式兼容。
  • 改善掃描質量不佳的圖像。
  • 支持多線程,方便多個同時操作。
  • 將結構化數據輸出到頁面、段落、行、詞和字符。

IronPDF

  • 從 HTML、HTML5、ASPX 和 Razor/MVC View 生成 PDF 文件。
  • 能夠打印、合併、拆分 PDF 文件,提取並搜索文本,將頁面光柵化為圖像,並將 PDF 與 HTML 進行互轉。
  • 允許從 URL 創建文檔,選擇使用網絡登錄憑證、代理、cookie、HTTP 標頭等。

有關更多詳細信息,請參考 Iron Software 產品

Serilog

記錄對於應用程式開發至關重要,因為它有助於開發人員查找和修復問題。 Serilog 是 .NET 中的一種新型日志和變更跟踪系統,將動作、異常、信息和警告記錄為 JSON 格式。 Serilog 提供結構化日志,通過提供更好的上下文和數據見解來增強傳統日志記錄。 它支持將診斷日志輸出到文件、控制台和各種存儲系統。

NUnit

測試對於確保代碼正確性至關重要。 NUnit 是 .NET 的一個開源單元測試框架,通過將大型應用程序分解成較小的可測試單元來簡化測試過程。 它有助於在開發過程中發現漏洞,並且是根據 MIT 許可證分發的。

Insight.Database

Insight.Database 是一種 .NET 的微型 ORM,透過將 C# 對象轉換為數據庫記錄及反之而簡化數據庫操作。 它提供擴展方法以便更容易地處理數據庫和完成模式遷移。 主要特點包括:

  • 自動打開和關閉數據庫連接。
  • 簡化的存儲過程執行。
  • 支持多個結果集。

FluentValidation

FluentValidation 是一種 .NET 套件,用於使用 lambda 表達式和 Fluent 接口創建強類型的驗證規則。 它通過提供一個驗證邏輯的存放位置來保持整潔的領域代碼。 FluentValidation 11 支持諸如 .NET Standard、.NET Core 以及 .NET 的 5、6 和 7 平台。

FluentEmail

FluentEmail 是一個開源的 .NET 庫,旨在使電子郵件發送功能易於整合到 .NET 應用程序中。 它支持使用 Razor 創建電子郵件模板,並通過 SendGrid、MailGun、SMTP 等發送電子郵件。

Hangfire

Hangfire 是一個開源框架,使 .NET 和 .NET Core 應用程式能夠執行背景任務。 它管理任務,例如大量電子郵件通知、圖表處理和從 XML 和 JSON 等不同格式批量導入。

LazyCache

LazyCache 提供了一個簡單的內存緩存服務,透過緩存 web 服務調用、複雜的對象生成和數據庫操作來提升應用程式性能。 其默認設置將內容緩存長達 20 分鐘。

結論

已經討論了提高 C# 編程生產力的十大 NuGet 套件。 這些套件減輕了工作負擔,加速了開發過程。 NuGet 客戶端工具促進了包的創建和消耗,而 Iron Software 提供了針對企業和初創公司的高級解決方案,提供與各種 .NET 框架和語言(如 C#、VB 和 F#)兼容的庫。

常見問題解答

NuGet 套件如何提升 C# 項目的生產力?

NuGet 套件透過提供可重用的代碼庫來提升 C# 項目的生產力,簡化了依賴項管理並在 Web、Windows 和移動等不同環境中精簡開發流程。

NuGet 在 .NET 開發中的角色是什麼?

NuGet 作為 .NET 的套件管理器,促進了軟體套件的創建、分發和消費。其與 Visual Studio 等 IDE 無縫集成,提升了 C# 開發者的生產力。

如何使用套件管理器控制台安裝 NuGet 套件?

要使用套件管理器控制台安裝 NuGet 套件,您可以使用命令 Install-Package {package_name}。此命令下載並安裝指定的套件及其依賴項。

Iron Software 的庫為 PDF 管理提供了哪些功能?

Iron Software 的 PDF 管理庫提供了從 HTML 生成 PDF、合併和拆分 PDF、文本提取和搜索、以及將 PDF 轉換為 HTML 或從 HTML 轉換為 PDF 等功能。

如何在 .NET 應用中使用 IronOCR?

IronOCR 可以用於 .NET 應用中從圖像或 PDF 中提取文本、條碼和 QR 碼。它支持超過 125 種語言,並且針對改善掃描品質差的文檔進行了優化。

使用 Serilog 在 .NET 應用中的主要好處是什麼?

Serilog 提供了 .NET 應用中的結構化日誌記錄,提升了日誌的可讀性並提供了更好的數據洞察。它支持將日誌記錄到多種輸出,包括文件、控制台和雲服務。

為什麼 Json.NET 在 .NET 中處理 JSON 受歡迎?

Json.NET 在 .NET 中處理 JSON 受歡迎是因為其高效的序列化和反序列化能力,以及其處理 JSON 數據的豐富功能集。

Hangfire 如何促進 .NET 中的背景任務管理?

Hangfire 促進 .NET 中的背景任務管理,允許應用在後台執行如電子郵件通知和數據處理等任務,從而提升應用的性能和響應能力。

FluentValidation 在 .NET 應用中的重要性是什麼?

FluentValidation 在 .NET 應用中很重要,因為它建立了強類型的驗證規則,通過集中化驗證邏輯來維護清潔代碼,減少領域模型中的混亂。

LazyCache 如何在 .NET 應用中提升性能?

LazyCache 在 .NET 應用中提升性能,因為它將複雜的操作和網絡服務調用緩存於內存中,減少了冗餘處理和資料庫調用,加快了應用程序的響應速度。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。