public void Execute() { ResolveEventHandler assemblyResolve = CurrentDomain_AssemblyResolve; try { SplitUpReferences(); GetSymbolProviders(); assemblyResolver = new AssemblyResolver(ReferenceDictionary, Logger, SplitReferences); ReadModule(); AppDomain.CurrentDomain.AssemblyResolve += assemblyResolve; InitialiseWeavers(); ExecuteWeavers(); AddWeavingInfo(); FindStrongNameKey(); WriteModule(); ModuleDefinition?.Dispose(); SymbolStream?.Dispose(); ExecuteAfterWeavers(); DisposeWeavers(); } catch (Exception exception) { AppDomain.CurrentDomain.AssemblyResolve -= assemblyResolve; Logger.LogException(exception); } finally { ModuleDefinition?.Dispose(); SymbolStream?.Dispose(); assemblyResolver?.Dispose(); } }
public void Execute() { ResolveEventHandler assemblyResolve = CurrentDomain_AssemblyResolve; try { SplitUpReferences(); GetSymbolProviders(); ReadModule(); AppDomain.CurrentDomain.AssemblyResolve += assemblyResolve; InitialiseWeavers(); ExecuteWeavers(); AddWeavingInfo(); AddProcessedFlag(); FindStrongNameKey(); WriteModule(); ExecuteAfterWeavers(); DisposeWeavers(); if (weaverInstances .Any(_ => _.WeaverDelegate.AfterWeavingExecute != null)) { ReadModule(); WriteModule(); } } catch (Exception exception) { AppDomain.CurrentDomain.AssemblyResolve -= assemblyResolve; Logger.LogException(exception); } finally { ModuleDefinition?.Dispose(); SymbolStream?.Dispose(); } }