MSIインストーラーの作成時にDLLが不足しています
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)で理由
このエラーは、ライブラリが正常に機能するために必要なファイルを見つけられないために発生します。
解決策
MSIインストーラーがスムーズに動作するために、セットアッププロジェクトに次の3つのファイルを必ず含める必要があります:onnxruntime.dll、IronBarcodeInterop.dll、および ReaderInterop.dll。 これらのファイルは、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にあります
この例外を避けるために、すべての3つのファイルをセットアッププロジェクトに追加することを確認してください。






