建立 MSI 安裝程式時缺少 DLL 檔案
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()
--- 內部例外堆疊追蹤結束 ---
at Microsoft.ML.OnnxRuntime.SessionOptions..ctor()
at Iron.BarCode.Extensions.xjtagg`1..ctor(Stream dfepdx, SessionOptions dfepdy)
at IronBarCodeDetection.BarcodeDetect.PredictObject[TModel](Stream modelStream)
--- 內部例外堆疊追蹤結束 ---
at IronBarCodeDetection.BarcodeDetect.PredictObject[TModel](Stream modelStream)
at IronBarCodeDetection.BarcodeDetect.DetectBarCode()
at Iron.BarCode.Extensions.cuewjf.ehxbbs(BarcodeDetect tlxjvd)
at Iron.BarCode.Extensions.cuewjf.ehxbbr(AnyBitmap tlxjvd, Double tlxjve)
at Iron.BarCode.Extensions.cuewjo.mvanli(AnyBitmap tlxjvd, Double tlxjve)
at Iron.BarCode.Extensions.cuewjo.mvanlf(Image`1 tlxjvd)
at Iron.BarCode.Extensions.cuewjo.mvankh(Object tlxjvd)
at IronBarCode.BarcodeReader.Read(AnyBitmap inputImage, BarcodeReaderOptions barcodeReaderOptions)
at 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()
at Iron.BarCode.Extensions.xjtagg`1..ctor(Stream dfepdx, SessionOptions dfepdy)
at IronBarCodeDetection.BarcodeDetect.PredictObject[TModel](Stream modelStream)
理由
發生此錯誤是因為該函式庫無法找到正常運作所需的檔案。
解決方案
為確保 MSI 安裝程式能順利執行,您必須在安裝專案中包含以下三個檔案:IronBarcodeInterop.dll 以及 ReaderInterop.dll。 這些檔案是在您以 Release 模式建置專案時所產生的:
onnxruntime.dll:位於 MsiInstallerSample\MsiInstallerSample\bin\ReleaseIronBarcodeInterop.dll:位於 MsiInstallerSample\MsiInstallerSample\bin\Release\runtimes\win-x86\nativeReaderInterop.dll:位於 MsiInstallerSample\MsiInstallerSample\bin\Release\runtimes\win-x86\native
請確保將這三個檔案全數加入您的安裝專案中,以避免此例外狀況。
準備好開始了嗎?
Nuget 下載 2,240,258 | 版本: 2026.5 just released

