IronBarcode架构(2025.2+)

This article was translated from English: Does it need improvement?
Translated
View the article in English

截至2025.2版本,IronBarcode包被拆分为独立的托管、原生和机器学习层。 其结构反映了IronOCR和IronPDF已使用的命名约定,提供更简洁的跨平台支持以及更易于维护。

包结构

主要发行版

顶级NuGet包映射到目标平台:

  • BarCode: Windows的默认包,以及通用用途的主要NuGet。
  • BarCode.Linux, BarCode.MacOS 及类似的:遵循与IronOCR和IronPDF相同命名惯例的特定操作系统分发版。

内部包层

每个顶级包都是由多个内部子包组装而成,每一个负责一个关注点。

1. BarCode.Slim

持有托管核心:C#代码、互操作层,所有PDF相关代码,以及每个C#第三方依赖。 这是推动IronBarcode托管功能的核心逻辑和绑定层。

2. IronSoftware.ReaderInternals.XXX

包含原生的C++代码,用于读取、写入以及检测条形码。 针对Windows、Linux、Mac及其他平台存在特定的变体。

3. BarCode.Detection

承担机器学习检测逻辑,当前用C#编写,基于ONNX Runtime。在这个阶段,它不依赖操作系统。

BarCode.Detection最终将移动到ncnn,一个本地C++机器学习推理库,而后将引入特定操作系统的变体。

移动平台排除项

Barcode.Android中。 这次省略是故意的:在移动平台上,机器学习检测引发性能问题和兼容性限制。

好处

重构的架构提供了:

  • 托管代码和本机代码之间的模块化分离。
  • 干净的、针对操作系统的打包。
  • 为高性能本地机器学习检测提供未来保障。
  • 与其他Iron Software库更紧密的对齐。
  • 更容易的维护和故障排除。
Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。

准备开始了吗?
Nuget 下载 2,317,217 | 版本: 2026.7 刚刚发布
Still Scrolling Icon

还在滚动吗?

想快速获得证据? PM > Install-Package BarCode
运行示例 观看您的字符串变成 BarCode。