Nespravovaný (nativní) algoritmus načítání knihovny
Nespravované knihovny se nacházejí a načítají pomocí algoritmu zahrnujícího různé fáze.
Následující algoritmus popisuje, jak se nativní knihovny načítají .PInvoke
PInvoke
Algoritmus načtení knihovny
PInvoke
při pokusu o načtení nespravovaného sestavení používá následující algoritmus:
Určete
active
AssemblyLoadContext. Pro nespravovanou knihovnuactive
zatížení je assemblyLoadContext s sestavením, které definujePInvoke
.V případě
active
AssemblyLoadContext, zkuste najít sestavení v pořadí priority podle:Kontrola mezipaměti.
Volání aktuálního System.Runtime.InteropServices.DllImportResolver delegáta nastaveného NativeLibrary.SetDllImportResolver(Assembly, DllImportResolver) funkcí
AssemblyLoadContext.LoadUnmanagedDll Volání funkce na
active
AssemblyLoadContext.AppDomain Kontrola mezipaměti instance a spuštění logiky zjišťování nespravované (nativní) knihovny
Vyvolání AssemblyLoadContext.ResolvingUnmanagedDll události pro
active
AssemblyLoadContext.