Fehlende DLLs bei der Erstellung eines MSI-Installers
Bei der Erstellung eines MSI-Installers kann die folgende Ausnahme auftreten:
2025-01-27 16:57:23 - Fehler: IronBarCodeDetection.Exceptions.IronBarcodeDetectionException: Unerwarteter Fehler während der Ausführung der IronBarcode Machine Learning-Bibliothek aufgetreten. Bitte geben Sie Details an support@ironsoftware.com für eine Lösung. ---> System.TypeInitializationException: Der Typinitialisierer für 'Microsoft.ML.OnnxRuntime.NativeMethods' hat eine Ausnahme ausgelöst. ---> System.NullReferenceException: Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
bei Microsoft.ML.OnnxRuntime.NativeMethods..cctor()
--- Ende der internen Ausnahmestapelüberwachung ---
bei Microsoft.ML.OnnxRuntime.SessionOptions..ctor()
bei Iron.BarCode.Extensions.xjtagg`1..ctor(Stream dfepdx, SessionOptions dfepdy)
bei IronBarCodeDetection.BarcodeDetect.PredictObject[TModel](Stream modelStream)
--- Ende der internen Ausnahmestapelüberwachung ---
bei IronBarCodeDetection.BarcodeDetect.PredictObject[TModel](Stream modelStream)
bei IronBarCodeDetection.BarcodeDetect.DetectBarCode()
bei Iron.BarCode.Extensions.cuewjf.ehxbbs(BarcodeDetect tlxjvd)
bei Iron.BarCode.Extensions.cuewjf.ehxbbr(AnyBitmap tlxjvd, Double tlxjve)
bei Iron.BarCode.Extensions.cuewjo.mvanli(AnyBitmap tlxjvd, Double tlxjve)
bei Iron.BarCode.Extensions.cuewjo.mvanlf(Image`1 tlxjvd)
bei Iron.BarCode.Extensions.cuewjo.mvankh(Object tlxjvd)
bei IronBarCode.BarcodeReader.Read(AnyBitmap inputImage, BarcodeReaderOptions barcodeReaderOptions)
bei WindowsFormsBarcode.Form1.btnBrowse_Click_1(Object sender, EventArgs e)
2025-01-27 16:57:23 - Fehlermeldung: Unerwarteter Fehler während der Ausführung der IronBarcode Machine Learning-Bibliothek aufgetreten. Bitte geben Sie Details an support@ironsoftware.com für eine Lösung.
2025-01-27 16:57:23 - Interne Ausnahme: Der Typinitialisierer für 'Microsoft.ML.OnnxRuntime.NativeMethods' hat eine Ausnahme ausgelöst.
2025-01-27 16:57:23 - Interne Ausnahmestapelüberwachung: bei Microsoft.ML.OnnxRuntime.SessionOptions..ctor()
bei Iron.BarCode.Extensions.xjtagg`1..ctor(Stream dfepdx, SessionOptions dfepdy)
bei IronBarCodeDetection.BarcodeDetect.PredictObject[TModel](Stream modelStream)
Grund
Dieser Fehler tritt auf, weil die Bibliothek die erforderlichen Dateien nicht finden kann, um ordnungsgemäß zu funktionieren.
Lösung
Um einen reibungslosen Ablauf des MSI-Installationsprogramms zu gewährleisten, müssen Sie die folgenden drei Dateien in Ihr Setup-Projekt einbinden: onnxruntime.dll, IronBarcodeInterop.dll und ReaderInterop.dll. Diese Dateien werden generiert, wenn Sie das Projekt im Release-Modus aufbauen:
onnxruntime.dll: Befindet sich unter MsiInstallerSample\MsiInstallerSample\bin\ReleaseIronBarcodeInterop.dll: Befindet sich unter MsiInstallerSample\MsiInstallerSample\bin\Release\runtimes\win-x86\nativeReaderInterop.dll: Befindet sich unter MsiInstallerSample\MsiInstallerSample\bin\Release\runtimes\win-x86\native
Stellen Sie sicher, dass alle drei Dateien zu Ihrem Setup-Projekt hinzugefügt werden, um diese Ausnahme zu vermeiden.

