30 internal static class ModuleInitializer
36 public static void Initialize()
38 AppDomain.CurrentDomain.AssemblyResolve += OnAssemblyResolve;
45 private static Assembly OnAssemblyResolve(
object sender, ResolveEventArgs args)
47 var assemblyName =
new AssemblyName(args.Name);
48 var dllName = assemblyName.Name +
".dll";
51 string libraryPathEnv;
54 if (Environment.OSVersion.Platform == PlatformID.Win32NT)
56 libraryPathEnv =
"PATH";
61 libraryPathEnv =
"LD_LIBRARY_PATH";
66 var libraryPath = Environment.GetEnvironmentVariable(libraryPathEnv);
67 if (
string.IsNullOrEmpty(libraryPath))
73 var paths = libraryPath.Split(pathSeparator, StringSplitOptions.RemoveEmptyEntries);
74 foreach (var path
in paths)
76 var assemblyPath = Path.Combine(path.Trim(), dllName);
77 if (File.Exists(assemblyPath))
79 return Assembly.LoadFrom(assemblyPath);