Use LoadFrom instead of LoadFile for AssemblyPatcher

CLR will ignore assemblies loaded via LoadFile because they are loaded in a different context to everything else
This commit is contained in:
Bepis committed 2021-01-25 02:35:50 +11:00
1 parent f60f6cbb62
commit 6acfa16d31
1 file changed
+7 -5
@@ -270,7 +270,7 @@ namespace BepInEx.Preloader.Core
{
try
{
assembly = AssemblyDefinition.ReadAssembly(path, TypeLoader.ReaderParameters);
assembly = AssemblyDefinition.ReadAssembly(path, TypeLoader.ReaderParameters);
return true;
}
catch (BadImageFormatException)
@@ -402,13 +402,15 @@ namespace BepInEx.Preloader.Core
if (ConfigLoadDumpedAssemblies.Value)
{
loadedAssembly = Assembly.LoadFile(Path.Combine(DumpedAssembliesPath, filename));
loadedAssembly = Assembly.LoadFrom(Path.Combine(DumpedAssembliesPath, filename));
}
else
{
using var assemblyStream = new MemoryStream();
assembly.Write(assemblyStream);
loadedAssembly = Assembly.Load(assemblyStream.ToArray());
using (var assemblyStream = new MemoryStream())
{
assembly.Write(assemblyStream);
loadedAssembly = Assembly.Load(assemblyStream.ToArray());
}
}
LoadedAssemblies.Add(filename, loadedAssembly);