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
Rebase of 52353b2
This commit is contained in:
1 file changed
+7
-3
@@ -14,6 +14,8 @@ namespace BepInEx.Preloader.Unity
|
||||
|
||||
Paths.SetExecutablePath(EnvVars.DOORSTOP_MANAGED_FOLDER_DIR, bepinPath);
|
||||
AppDomain.CurrentDomain.AssemblyResolve += LocalResolve;
|
||||
// Remove temporary resolver early so it won't override local resolver
|
||||
AppDomain.CurrentDomain.AssemblyResolve -= DoorstopEntrypoint.ResolveCurrentDirectory;
|
||||
|
||||
PreloaderMain();
|
||||
}
|
||||
@@ -80,16 +82,18 @@ namespace BepInEx.Preloader.Unity
|
||||
typeof(DoorstopEntrypoint).Assembly.GetType($"BepInEx.Preloader.Unity.{nameof(UnityPreloaderRunner)}")
|
||||
?.GetMethod(nameof(UnityPreloaderRunner.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