| 123456789101112131415161718192021222324252627282930313233 | using System.Reflection;using System.Runtime.Loader;namespace Emby.Server.Implementations.Plugins;/// <summary>/// A custom <see cref="AssemblyLoadContext"/> for loading Jellyfin plugins./// </summary>public class PluginLoadContext : AssemblyLoadContext{    private readonly AssemblyDependencyResolver _resolver;    /// <summary>    /// Initializes a new instance of the <see cref="PluginLoadContext"/> class.    /// </summary>    /// <param name="path">The path of the plugin assembly.</param>    public PluginLoadContext(string path) : base(true)    {        _resolver = new AssemblyDependencyResolver(path);    }    /// <inheritdoc />    protected override Assembly? Load(AssemblyName assemblyName)    {        var assemblyPath = _resolver.ResolveAssemblyToPath(assemblyName);        if (assemblyPath is not null)        {            return LoadFromAssemblyPath(assemblyPath);        }        return null;    }}
 |