|
| | PluginLoadContext (string pluginMainAssemblyPath, string[]? sharedAssemblyNames=null) |
|
| override? Assembly | Load (AssemblyName assemblyName) |
| override IntPtr | LoadUnmanagedDll (string unmanagedDllName) |
Definition at line 7 of file PluginLoadContext.cs.
◆ PluginLoadContext()
| ScriptStack.Plugins.PluginLoadContext.PluginLoadContext |
( |
string | pluginMainAssemblyPath, |
|
|
string?[] | sharedAssemblyNames = null ) |
Definition at line 12 of file PluginLoadContext.cs.
13 : base(isCollectible: true)
14 {
15 _resolver = new AssemblyDependencyResolver(pluginMainAssemblyPath);
16 _sharedAssemblies = sharedAssemblyNames ?? Array.Empty<string>();
17 }
References _resolver, and _sharedAssemblies.
◆ Load()
| override? Assembly ScriptStack.Plugins.PluginLoadContext.Load |
( |
AssemblyName | assemblyName | ) |
|
|
protected |
Definition at line 19 of file PluginLoadContext.cs.
20 {
21 foreach (var shared in _sharedAssemblies)
22 {
23 if (string.Equals(shared, assemblyName.Name, StringComparison.OrdinalIgnoreCase))
24 {
25 try { return Assembly.Load(assemblyName); } catch { return null; }
26 }
27 }
28
29 string? assemblyPath = _resolver.ResolveAssemblyToPath(assemblyName);
30 if (assemblyPath != null)
31 return LoadFromAssemblyPath(assemblyPath);
32
33 return null;
34 }
References _resolver, and _sharedAssemblies.
◆ LoadUnmanagedDll()
| override IntPtr ScriptStack.Plugins.PluginLoadContext.LoadUnmanagedDll |
( |
string | unmanagedDllName | ) |
|
|
protected |
Definition at line 36 of file PluginLoadContext.cs.
37 {
38 string? path = _resolver.ResolveUnmanagedDllToPath(unmanagedDllName);
39 if (path != null) return LoadUnmanagedDllFromPath(path);
40 return base.LoadUnmanagedDll(unmanagedDllName);
41 }
References _resolver.
◆ _resolver
| readonly AssemblyDependencyResolver ScriptStack.Plugins.PluginLoadContext._resolver |
|
private |
◆ _sharedAssemblies
| readonly string [] ScriptStack.Plugins.PluginLoadContext._sharedAssemblies |
|
private |
The documentation for this class was generated from the following file: