Browse Source

Add a warning message if duplicate patchers are found

denikson 6 years ago
parent
commit
30c2fa7164
1 changed files with 8 additions and 1 deletions
  1. 8 1
      BepInEx/Bootstrap/Preloader.cs

+ 8 - 1
BepInEx/Bootstrap/Preloader.cs

@@ -87,7 +87,14 @@ namespace BepInEx.Bootstrap
 							var assembly = Assembly.LoadFrom(assemblyPath);
 
 							foreach (KeyValuePair<string, KeyValuePair<AssemblyPatcherDelegate, IEnumerable<string>>> kv in GetPatcherMethods(assembly))
-								sortedPatchers.Add(kv.Key, kv.Value);
+							    try
+							    {
+							        sortedPatchers.Add(kv.Key, kv.Value);
+							    }
+							    catch (ArgumentException)
+							    {
+                                    Logger.Log(LogLevel.Warning, $"Found duplicate of patcher {kv.Key}!");
+							    }
 						}
 						catch (BadImageFormatException) { } //unmanaged DLL
 						catch (ReflectionTypeLoadException) { } //invalid references