zxl
/
CTT
forked from Cal/CTT
1
0
Fork 0
CTT/Unity/Assets/Model/Core/Helper/DllHelper.cs

24 lines
733 B
C#

#if SERVER
using System.IO;
using System.Reflection;
using System.Runtime.Loader;
namespace ET
{
public static class DllHelper
{
private static AssemblyLoadContext assemblyLoadContext;
public static Assembly GetHotfixAssembly()
{
assemblyLoadContext?.Unload();
System.GC.Collect();
assemblyLoadContext = new AssemblyLoadContext("Hotfix", true);
byte[] dllBytes = File.ReadAllBytes("./Hotfix.dll");
byte[] pdbBytes = File.ReadAllBytes("./Hotfix.pdb");
Assembly assembly = assemblyLoadContext.LoadFromStream(new MemoryStream(dllBytes), new MemoryStream(pdbBytes));
return assembly;
}
}
}
#endif