Missing DLLs in Creating MSI Installer

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

在建立 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 - Inner Exception Stack Trace:    在 Microsoft.ML.OnnxRuntime.SessionOptions..ctor()
   在 Iron.BarCode.Extensions.xjtagg`1..ctor(Stream dfepdx, SessionOptions dfepdy)
   在 IronBarCodeDetection.BarcodeDetect.PredictObject[TModel](Stream modelStream)

原因

此錯誤是因為庫無法找到運行所需的文件。

解決方案

這些文件在 Release 模式下構建項目時生成: - onnxruntime.dll:位於 MsiInstallerSample\MsiInstallerSample\bin\Release

  • IronBarcodeInterop.dll:位於 MsiInstallerSample\MsiInstallerSample\bin\Release\runtimes\win-x86\native
  • ReaderInterop.dll:位於 MsiInstallerSample\MsiInstallerSample\bin\Release\runtimes\win-x86\native 添加額外 DLL

確保將所有三個文件新增到您的設定專案中以避免此例外。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。

準備好開始了嗎?
Nuget 下載 1,935,276 | 版本: 2025.11 剛剛發布