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 sicherzustellen, dass der MSI-Installer reibungslos ausgeführt wird, müssen Sie die folgenden drei Dateien in Ihr Installationsprojekt aufnehmen: onnxruntime.dll, IronBarcodeInterop.dll und ReaderInterop.dll. Diese Dateien werden generiert, wenn Sie das Projekt im Release-Modus aufbauen:
onnxruntime.dll: Befindet sich in MsiInstallerSample\MsiInstallerSample\bin\ReleaseIronBarcodeInterop.dll: Located at MsiInstallerSample\MsiInstallerSample\bin\Release\runtimes\win-x86\nativeReaderInterop.dll: Located at 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.

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender Handbücher.