IronBarcodeアーキテクチャ(2025.2+)
バージョン2025.2以降、IronBarcodeパッケージは、管理、ネイティブ、および機械学習のレイヤーに分割されました。 構造はすでに利用されているIronOCRおよびIronPDFの命名規則を鏡よく表しており、クリーンなクロスプラットフォームサポートとより簡単なメンテナンスを提供します。
パッケージ構造
メインディストリビューション
トップレベルのNuGetパッケージがターゲットプラットフォームにマップされています。
BarCode: Windows用のデフォルトパッケージであり、一般的な目的で使用される主要なNuGetです。BarCode.MacOS、および同様のもの: IronOCRおよびIronPDFと同じ命名規則に従うOS特定のディストリビューションです。
内部パッケージレイヤー
各トップレベルパッケージは、いくつかの内部サブパッケージから構成され、それぞれが1つの関心を所有しています。
1. BarCode.Slim
管理されたコアを保持: C#コード、相互運用レイヤー、すべてのPDF関連コード、およびすべてのC#サードパーティ依存。 これはIronBarcodeの管理機能を駆動する中心のロジックとバインディング層です。
2. IronSoftware.ReaderInternals.XXX
ネイティブC++コードを含み、バーコードの読み取り、書き込み、検出を行います。 Windows、Linux、Macなど、プラットフォーム固有のバリアントが存在します。
3. BarCode.Detection
機械学習による検出ロジックを実行し、現在C#でONNX Runtimeの上に書かれています。現在の段階ではOSに依存していません。
BarCode.Detectionは最終的にncnnというネイティブC++ ML推論ライブラリに移行し、その後、OS特定のバリアントを導入します。
モバイルプラットフォームの除外
Barcode.Androidにバンドルされていません。 この省略は意図的です。ML検出はモバイルプラットフォームでパフォーマンス上の懸念を引き起こし、互換性の制限をもたらします。
利点
再構成されたアーキテクチャがもたらすもの。
- 管理コードとネイティブコードの間のモジュラーな分離。
- クリーンでOSをターゲットにしたパッケージング。
- 高性能なネイティブML検出への将来対応
- 他のIron Softwareライブラリとの密接な整合性。
- より簡単なメンテナンスおよびトラブルシューティング。

