Files
CRSim/CRSim.Core/Utils/PluginLoadContext.cs
2025-07-26 23:55:24 +08:00

22 lines
581 B
C#

using System.Reflection;
using System.Runtime.Loader;
namespace CRSim.Core.Utils
{
internal class PluginLoadContext(string pluginPath) : AssemblyLoadContext
{
private readonly AssemblyDependencyResolver _resolver = new(pluginPath);
protected override Assembly Load(AssemblyName assemblyName)
{
string assemblyPath = _resolver.ResolveAssemblyToPath(assemblyName);
if (assemblyPath != null)
{
return LoadFromAssemblyPath(assemblyPath);
}
return null;
}
}
}