static public void LoadAssembly(string path, bool isInjectLua, bool isInjectMono) { try { File.Copy(path, path + ".bak", true); AssemblyDefinition assemblyDefinition = AssemblyDefinition.ReadAssembly(path); (assemblyDefinition.MainModule.AssemblyResolver as DefaultAssemblyResolver).AddSearchDirectory(Path.GetDirectoryName(path)); AssemblyDefinition assemblyDefinition2 = AssemblyDefinition.ReadAssembly("LuaProfilerDLL.dll"); assemblyDefinition.MainModule.AssemblyReferences.Add(assemblyDefinition2.Name); assemblyDefinition.Write(path); if (isInjectLua) { InjectMethods.HookLuaFun(path, "LuaProfilerDLL.dll"); } if (isInjectMono) { InjectMethods.InjectAllMethods(path, "LuaProfilerDLL.dll"); } string profilerDLLPath = Path.Combine(Path.GetDirectoryName(path), "LuaProfilerDLL.dll"); Console.WriteLine(profilerDLLPath); File.Copy("LuaProfilerDLL.dll", profilerDLLPath, true); Console.WriteLine("Inject Success"); } catch (Exception ex) { Console.WriteLine(ex.Message + "\r\n" + ex.StackTrace); } }