mirror of
https://github.com/BepInEx/BepInEx.git
synced 2026-10-20 01:46:13 +00:00
Remove temporary assembly resolver early in preloader runner
This commit is contained in:
1 parent
58e8409e1b
commit
52353b2dc4
1 file changed
+7
-3
@@ -16,6 +16,8 @@ namespace BepInEx.Preloader
|
||||
Paths.SetExecutablePath(EnvVars.DOORSTOP_PROCESS_PATH, bepinPath, EnvVars.DOORSTOP_MANAGED_FOLDER_DIR);
|
||||
HarmonyInterop.Initialize();
|
||||
AppDomain.CurrentDomain.AssemblyResolve += LocalResolve;
|
||||
// Remove temporary resolver early so it won't override local resolver
|
||||
AppDomain.CurrentDomain.AssemblyResolve -= Entrypoint.ResolveCurrentDirectory;
|
||||
|
||||
PreloaderMain();
|
||||
}
|
||||
@@ -82,16 +84,18 @@ namespace BepInEx.Preloader
|
||||
typeof(Entrypoint).Assembly.GetType($"BepInEx.Preloader.{nameof(PreloaderRunner)}")
|
||||
?.GetMethod(nameof(PreloaderRunner.PreloaderPreMain))
|
||||
?.Invoke(null, null);
|
||||
|
||||
AppDomain.CurrentDomain.AssemblyResolve -= ResolveCurrentDirectory;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
File.WriteAllText(silentExceptionLog, ex.ToString());
|
||||
}
|
||||
finally
|
||||
{
|
||||
AppDomain.CurrentDomain.AssemblyResolve -= ResolveCurrentDirectory;
|
||||
}
|
||||
}
|
||||
|
||||
private static Assembly ResolveCurrentDirectory(object sender, ResolveEventArgs args)
|
||||
internal static Assembly ResolveCurrentDirectory(object sender, ResolveEventArgs args)
|
||||
{
|
||||
// Can't use Utils here because it's not yet resolved
|
||||
var name = new AssemblyName(args.Name);
|
||||
|
||||
Reference in new issue
Block a user