IronBarcode架構 (2025.2+)
從2025.2版開始,IronBarcode套件被拆分為單獨的管理層,本地層和機器學習層。 該結構反映了IronOCR和IronPDF已經使用的命名約定,提供了更清晰的跨平台支持和更容易的維護。
套件結構
主要分發
頂級NuGet套件對應於目標平台:
BarCode: Windows的預設套件,並且是通用用途的主要NuGet。BarCode.MacOS及類似項目: 遵循與IronOCR和IronPDF相同命名慣例的作業系統特定發行版本。
內部套件層
每個頂級套件由幾個內部子套件構成,每個擁有一個關注點。
1. BarCode.Slim
持有管理核心:C#程式碼、互操作層、所有PDF相關程式碼和每個C#第三方依賴項。 這是驅動IronBarcode管理功能的核心邏輯和綁定層。
2. IronSoftware.ReaderInternals.XXX
包含用於讀取、寫入和檢測條碼的本地C++程式碼。 存在於Windows、Linux、Mac等的特定平台變體。
3. BarCode.Detection
攜帶機器學習檢測邏輯,目前是用C#編寫在ONNX運行時之上。在這個階段它不依賴於操作系統。
BarCode.Detection 最終將轉移到ncnn,一個原生的C++機器學習推理程式庫,屆時將引入作業系統特定的變體。
移動平台排除
BarCode.Detection 不會被打包進Barcode.Android。 這種疏忽是故意的:ML檢測在移動平台上引發性能問題和相容性限制。
優點
重新結構化的架構提供:
- 管理程式碼和本地程式碼的模塊分離。
- 清潔的,針對操作系統的打包。
- 為高性能的本地ML檢測提供未來保障。
- 與其他Iron Software庫更緊密的對齊。
- 更簡單的維護和故障排除。

