IRONSOFTWAREHOME

创建 MSI 安装程序时缺少 DLL 文件

Curtis Chau
Curtis Chau
Updated: 2025年9月24日

创建 MSI 安装程序时,可能会遇到以下异常:

2025-01-27 16:57:23 - 错误:IronBarCodeDetection.Exceptions.IronBarcodeDetectionException:执行 IronBarcode 机器学习库时发生意外错误。 请将详细信息发送至 support@ironsoftware.com 以便我们解决问题。 ---> System.TypeInitializationException: "Microsoft.ML.OnnxRuntime.NativeMethods"的类型初始值设定项引发了异常。 ---> System.NullReferenceException: 对象引用未设置为对象的实例。
   在 Microsoft.ML.OnnxRuntime.NativeMethods..cctor()
   --- 内部异常堆栈跟踪结束 ---
   在 Microsoft.ML.OnnxRuntime.SessionOptions..ctor()
   在 Iron.BarCode.Extensions.xjtagg`1..ctor(Stream dfepdx, SessionOptions dfepdy)
在 IronBarCodeDetection.BarcodeDetect.PredictObject [TModel](Stream modelStream)
   --- 内部异常堆栈跟踪结束 ---
在 IronBarCodeDetection.BarcodeDetect.PredictObject [TModel](Stream modelStream)
   在 IronBarCodeDetection.BarcodeDetect.DetectBarCode()
   在 Iron.BarCode.Extensions.cuewjf.ehxbbs(BarcodeDetect tlxjvd)
   在 Iron.BarCode.Extensions.cuewjf.ehxbbr(AnyBitmap tlxjvd, Double tlxjve)
   在 Iron.BarCode.Extensions.cuewjo.mvanli(AnyBitmap tlxjvd, Double tlxjve)
   在 Iron.BarCode.Extensions.cuewjo.mvanlf(Image`1 tlxjvd)
   在 Iron.BarCode.Extensions.cuewjo.mvankh(Object tlxjvd)
   在 IronBarCode.BarcodeReader.Read(AnyBitmap inputImage, BarcodeReaderOptions barcodeReaderOptions)
   在 WindowsFormsBarcode.Form1.btnBrowse_Click_1(Object sender, EventArgs e)
2025-01-27 16:57:23 - 错误消息:执行 IronBarcode 机器学习库时发生意外错误。 请将详细信息发送至 support@ironsoftware.com 以便我们解决问题。
2025-01-27 16:57:23 - 内部异常:类型"Microsoft.ML.OnnxRuntime.NativeMethods"的类型初始值设定项引发了异常。
2025-01-27 16:57:23 - 内部异常堆栈跟踪:位于 Microsoft.ML.OnnxRuntime.SessionOptions..ctor()
   在 Iron.BarCode.Extensions.xjtagg`1..ctor(Stream dfepdx, SessionOptions dfepdy)
在 IronBarCodeDetection.BarcodeDetect.PredictObject [TModel](Stream modelStream)
Text

原因

出现此错误是因为库找不到正常运行所需的文件。

解决方案

为了确保MSI安装程序顺利运行,您必须在安装项目中包含以下三个文件:ReaderInterop.dll。 这些文件在以发布模式构建项目时生成:

  • onnxruntime.dll:位于MsiInstallerSample\MsiInstallerSample\bin\Release
  • IronBarcodeInterop.dll: Located at MsiInstallerSample\MsiInstallerSample\bin\Release\runtimes\win-x86\native
  • ReaderInterop.dll: Located at MsiInstallerSample\MsiInstallerSample\bin\Release\runtimes\win-x86\native

请确保将这三个文件都添加到您的安装项目中,以避免出现此异常。

Curtis Chau
技术作家

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

...
阅读更多

准备开始了吗?

Nuget Downloads 2,422,100版本:2026.9刚刚发布

立即获取您的免费30 天试用密钥
无需信用卡或创建账户
C# 用于 PDF 的 NuGet 库
通过 NuGet 安装

版本: 2026.9

PM > Install-Package BarCode
nuget.org/packages/BarCode/
  1. 在解决方案资源管理器中,右键点击引用,管理 NuGet 包
  2. 选择浏览并搜索 "IronBarcode"
  3. 选择包并安装
C# PDF DLL
下载 DLL

版本: 2026.9

  1. 下载并将 IronBarCode 解压到解决方案目录中的 ~/Libs 等位置
  2. 在 Visual Studio 解决方案资源管理器中,右键单击引用。选择浏览,"IronBarcode.dll"

许可 $999

Key in blue circle

立即获取免费的 30 天试用版密钥

Your trial license will be sent to your email address

无任何限制。100% 解锁。无需信用卡。

bullet_checked无需信用卡或创建账户无任何限制。100% 解锁。无需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
预约您的免费现场演示
Booking Badge

深受全球数百万工程师信赖

Iron Software 的客户徽标
获取您的无义务咨询
填写下面的表格或通过sales@ironsoftware.com
您的资料将始终保密。
深受全球数百万工程师信赖
Iron Software 的客户徽标
立即获取您的免费30 天试用密钥
无需信用卡或创建账户