AssemblyPatcher Class
Definition
Section titled “Definition”Worker class which is used for loading and patching entire folders of assemblies, or alternatively patching and loading assemblies one at a time.
public class AssemblyPatcher : IDisposable
Inheritance object
Implements IDisposable
Constructors
Section titled “Constructors”AssemblyPatcher(Func<byte[], string, Assembly>)
Section titled “AssemblyPatcher(Func<byte[], string, Assembly>)”public AssemblyPatcher(Func<byte[], string, Assembly> assemblyLoader)
Parameters
Section titled “Parameters”assemblyLoader
Func<byte[], string, Assembly>
Properties
Section titled “Properties”PatcherContext
Section titled “PatcherContext”The context of this assembly patcher instance that is passed to all patcher plugins.
public PatcherContext PatcherContext { get; }
Methods
Section titled “Methods”Dispose()
Section titled “Dispose()”Performs work to dispose collection objects.
public void Dispose()
AddPatchersFromDirectory(string)
Section titled “AddPatchersFromDirectory(string)”Adds all patchers from all managed assemblies specified in a directory.
public void AddPatchersFromDirectory(string directory)
Parameters
Section titled “Parameters”directory
string
Directory to search patcher DLLs from.
LoadAssemblyDirectories(params string[])
Section titled “LoadAssemblyDirectories(params string[])”Adds all .dll assemblies in given directories to be patched and loaded by this patcher instance. Non-managed assemblies are skipped.
public void LoadAssemblyDirectories(params string[] directories)
Parameters
Section titled “Parameters”directories
string[]
The directories to search.
LoadAssemblyDirectories(IEnumerable, IEnumerable)
Section titled “LoadAssemblyDirectories(IEnumerable, IEnumerable)”Adds all assemblies in given directories to be patched and loaded by this patcher instance. Non-managed assemblies are skipped.
public void LoadAssemblyDirectories(IEnumerable<string> directories, IEnumerable<string> assemblyExtensions)
Parameters
Section titled “Parameters”directories
IEnumerable<string>
The directory to search.
assemblyExtensions
IEnumerable<string>
The file extensions to attempt to load.
TryLoadAssembly(string, out AssemblyDefinition)
Section titled “TryLoadAssembly(string, out AssemblyDefinition)”Attempts to load a managed assembly as an AssemblyDefinition. Returns true if successful.
public static bool TryLoadAssembly(string path, out AssemblyDefinition assembly)
Parameters
Section titled “Parameters”path
string
The path of the assembly.
assembly
AssemblyDefinition
The loaded assembly. Null if not successful in loading.
Returns
Section titled “Returns”PatchAndLoad()
Section titled “PatchAndLoad()”Applies patchers to all assemblies loaded into this assembly patcher and then loads patched assemblies into memory.
public void PatchAndLoad()