NuGet 套件 (PDF, OCR, 條碼, Excel):更新列表
.NET 套件管理程式庫稱為 NuGet。 開發人員最常使用的語言之一是 C#,這表明 C# 是一種非常富有成效的語言。 還有其他免費的 NuGet 套件,可以更進一步提升 C# 的生產力。 NuGet 套件在各種 IDE 中都有其特色,例如 Visual Studio。
我們可以在 Web、Windows 和 Mobile 等不同環境上使用 NuGet 的相同套件。我們可以在 Package Manager Console 下安裝較新版本的 NuGet 套件。 Visual Studio 已安裝內建的高效能 NuGet 擴充套件。 使用 NuGet Package Manager,您可以在儲存庫中以方便的方式製作和使用套件。 這也有助於我們出版套件。
在 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# 時,可提高開發人員生產力的十大 NuGet 套件:
- RestSharp
- Json.NET
- Iron Software
- Serilog
- NUnit
- Insight.Database
- FluentValidation
- FluentEmail
- Hangfire
- LazyCache
RestSharp
表示式狀態轉換 (Representational State Transfer) 稱為 REST。RestSharp 在 NuGet 上的下載量平均每天超過 43,000 次,已超過 1.9 億次。 它是 .NET 專案中使用最廣泛的 HTTP 客戶端函式庫,可讓 C# 開發人員輕鬆透過 HTTP 來呼叫遠端資源,並負責請求體序列化為 JSON 或 XML,以及在回應中進行反序列化。 新版本的 RestSharp NuGet 套件支援:
- 同步和非同步查詢。
- 序列化與反序列化。
- 各種 HTTP 請求類型,包括 GET、POST、PUT 和 DELETE。
- 不同的認證格式。
Json.NET
Json.NET 是一個簡約的 JSON 處理器函式庫。 Json.NET 的 NuGet 下載/安裝次數超過 10 億次,是 .NET 平台的免費開放原始碼套件之一。 其突出特點如下:
- 任何 .NET 物件與 JSON 之間的序列化與反序列化。
- XML 與 JSON 與 C# 資料模型之間的轉換。
- 支援使用物件、JArray 及 JValue 的 LINQ 查詢。
- 效能比 JavaScriptSerializer 快 25%,比 DataContractJsonSerializer 快 50%。
Iron Software
針對處理 PDF、OCR、Excel 和 BarCode 的 .NET 和 Entity Framework (EF) Core 程式設計師, Iron Software 建立了一個包含實用程式碼的公共儲存庫軟體函式庫集合。 下載量已超過 550 萬次,可在 NuGet Package Manager 中使用不同的套件名稱,如下所述。 詳述 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 等。
- 預先處理 BarCode 影像,以提高讀取精確度和速度。 這包括糾正旋轉、雜訊、扭曲和歪斜。 適用於使用多核心系統執行批次處理的伺服器程式。
- 為各種文件類型建立 BarCode 和 QR 代碼,允許以 PDF、JPG、TIFF 等多種格式進行文字、旋轉、大小、顏色和品質等修改。
IronOCR
- 利用 Tesseract 5 引擎從影像或 PDF 擷取文字、BarCode 和 QR 代碼。
- 支援超過 125 種語言,可自訂語言設定。
- 與多頁 GIF 和 TIFF 影像格式相容。
- 改善掃描不良的影像品質。
- 支援多執行緒,方便同時進行多個操作。
- 將結構化資料輸出為頁面、段落、行、字詞和字元。
IronPDF
- 從 HTML、HTML5、ASPX 和 Razor/MVC View 生成 PDF 檔案。
- 能夠列印、合併、分割 PDF 檔案、擷取和搜尋文字、將頁面光柵化為影像,以及將 PDF 轉換為 HTML 或從 HTML 轉換為 PDF。
- 允許從 URL 建立文件,並可選擇使用網路登入憑證、代理、cookies、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 Framework 和語言 (如 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 應用中提升性能,因為它將複雜的操作和網路服務調用緩存於內存中,減少了冗餘處理和資料庫調用,加快了應用程序的響應速度。



