// This method is invoked by the VM to resolve a native library using the ResolvingUnmanagedDll event // after trying all other means of resolution. private static IntPtr ResolveUnmanagedDllUsingEvent( string unmanagedDllName, Assembly assembly, IntPtr gchManagedAssemblyLoadContext ) { AssemblyLoadContext context = (AssemblyLoadContext)( GCHandle.FromIntPtr(gchManagedAssemblyLoadContext).Target ) !; return(context.GetResolvedUnmanagedDll(assembly, unmanagedDllName)); }
private static void MonoResolveUnmanagedDllUsingEvent(string unmanagedDllName, Assembly assembly, IntPtr gchManagedAssemblyLoadContext, ref IntPtr dll) { AssemblyLoadContext context = GetAssemblyLoadContext(gchManagedAssemblyLoadContext); dll = context.GetResolvedUnmanagedDll(assembly, unmanagedDllName); }