Brakujące biblioteki DLL w tworzeniu instalatora MSI

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

Podczas tworzenia instalatora MSI możesz napotkać następujący wyjątek:

2025-01-27 16:57:23 - Błąd: IronBarCodeDetection.Exceptions.IronBarcodeDetectionException: Wystąpił nieoczekiwany błąd podczas wykonywania biblioteki uczenia maszynowego IronBarcode. Prosimy o przesłanie szczegółów na support@ironsoftware.com w celu rozwiązania problemu. ---> System.TypeInitializationException: Inicjalizator typu dla 'Microsoft.ML.OnnxRuntime.NativeMethods' zgłosił wyjątek. ---> System.NullReferenceException: Referencja do obiektu nie została ustawiona na żadną instancję obiektu.
   at Microsoft.ML.OnnxRuntime.NativeMethods..cctor()
   --- Koniec śladu stosu wyjątku wewnętrznego ---
   at Microsoft.ML.OnnxRuntime.SessionOptions..ctor()
   at Iron.BarCode.Extensions.xjtagg`1..ctor(Stream dfepdx, SessionOptions dfepdy)
   at IronBarCodeDetection.BarcodeDetect.PredictObject[TModel](Stream modelStream)
   --- Koniec śladu stosu wyjątku wewnętrznego ---
   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 - Komunikat o błędzie: Wystąpił nieoczekiwany błąd podczas wykonywania biblioteki uczenia maszynowego IronBarcode. Prosimy o przesłanie szczegółów na support@ironsoftware.com w celu rozwiązania problemu.
2025-01-27 16:57:23 - Wewnętrzny wyjątek: Inicjalizator typu dla 'Microsoft.ML.OnnxRuntime.NativeMethods' zgłosił wyjątek.
2025-01-27 16:57:23 - Ślad stosu wewnętrznego wyjątku:    at Microsoft.ML.OnnxRuntime.SessionOptions..ctor()
   at Iron.BarCode.Extensions.xjtagg`1..ctor(Stream dfepdx, SessionOptions dfepdy)
   at IronBarCodeDetection.BarcodeDetect.PredictObject[TModel](Stream modelStream)

Powod

Ten błąd występuje, ponieważ biblioteka nie może znaleźć wymaganych plików, aby działać poprawnie.

Rozwiązanie

Aby upewnić się, że instalator MSI działa bezproblemowo, musisz uwzględnić w projekcie instalacyjnym następujące trzy pliki: onnxruntime.dll, IronBarcodeInterop.dll i ReaderInterop.dll. Pliki te są generowane podczas kompilacji projektu w trybie Release:

  • onnxruntime.dll: Znajduje się w MsiInstallerSample\MsiInstallerSample\bin\Release
  • IronBarcodeInterop.dll: Znajduje się w MsiInstallerSample\MsiInstallerSample\bin\Release\runtimes\win-x86\native
  • ReaderInterop.dll: Znajduje się w MsiInstallerSample\MsiInstallerSample\bin\Release\runtimes\win-x86\native

Upewnij się, że wszystkie trzy pliki zostały dodane do projektu instalacyjnego, aby uniknąć tego wyjątku.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podrę...

Czytaj więcej
Gotowy, aby rozpocząć?
Nuget Pliki do pobrania 2,145,441 | Wersja: 2026.4 just released
Still Scrolling Icon

Wciąż przewijasz?

Czy chcesz szybko dowodu? PM > Install-Package BarCode
uruchom przykład zobacz, jak twoje ciągi zamieniają się w kody kreskowe.