加载动态库onnxruntime

发布时间 2024-01-11 10:16:45作者: 無海
       public static IntPtr OnnxRuntimeImportResolver(string libraryName, Assembly assembly, DllImportSearchPath? searchPath)
       {
           //调试信息
           LogHelper.NlogTrace(libraryName);

           if (libraryName != "onnxruntime")
           {
               return IntPtr.Zero;
           }

           var fullLoc = Assembly.Load("Microsoft.ML.OnnxRuntime").Location;
           //var loc = fullLoc.Substring(0, fullLoc.IndexOf("Microsoft.ML.OnnxRuntime"));
           var loc = "C:\\Windows\\SysWOW64\\onnxruntime.dll";
           IntPtr libHandle = IntPtr.Zero;
           var ret = NativeLibrary.TryLoad(loc, out libHandle);

           //调试信息
           LogHelper.NlogTrace(loc);
           LogHelper.NlogTrace(libHandle.ToString());
           LogHelper.NlogTrace(ret.ToString());

           return libHandle;
       }

           NativeLibrary.SetDllImportResolver(Assembly.Load("Microsoft.ML.OnnxRuntime"), Library.OnnxRuntimeImportResolver);