Esempio n. 1
0
        // 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));
        }
Esempio n. 2
0
        private static void MonoResolveUnmanagedDllUsingEvent(string unmanagedDllName, Assembly assembly, IntPtr gchManagedAssemblyLoadContext, ref IntPtr dll)
        {
            AssemblyLoadContext context = GetAssemblyLoadContext(gchManagedAssemblyLoadContext);

            dll = context.GetResolvedUnmanagedDll(assembly, unmanagedDllName);
        }