MSI 설치 관리자에서 누락된 DLL
MSI 설치 관리자를 만들 때 다음과 같은 예외가 발생할 수 있습니다:
2025-01-27 16:57:23 - 오류: IronBarCodeDetection.Exceptions.IronBarcodeDetectionException: IronBarcode 머신 러닝 라이브러리 실행 중 예기치 않은 오류가 발생했습니다. 해결을 위해 support@ironsoftware.com 으로 정보를 제공해 주세요. ---> System.TypeInitializationException: 'Microsoft.ML.OnnxRuntime.NativeMethods'의 형 초기화 도중 예외가 발생했습니다. ---> System.NullReferenceException: 객체 참조가 객체 인스턴스로 설정되지 않았습니다.
at 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 - 내부 예외 스택 트레이스: at Microsoft.ML.OnnxRuntime.SessionOptions..ctor()
at Iron.BarCode.Extensions.xjtagg`1..ctor(Stream dfepdx, SessionOptions dfepdy)
at IronBarCodeDetection.BarcodeDetect.PredictObject[TModel](Stream modelStream)
이유
이 오류는 라이브러리가 올바르게 작동하는데 필요한 파일을 찾을 수 없기 때문에 발생합니다.
해결책
MSI 설치 관리자가 원활하게 실행되도록 하기 위해 다음 세 개의 파일을 설정 프로젝트에 포함해야 합니다: 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에 위치
이 예외를 피하기 위해 모든 세 파일을 설정 프로젝트에 추가하십시오.

