public void Run(IAssemblyTrackerFactory trackerFactory, IEnumerable<IAssemblyTransformationFactory> transformationFactories, IAssemblySignerFactory signerFactory, IAppDomainInfoBroker infoBroker) { ArgumentUtility.CheckNotNull ("trackerFactory", trackerFactory); ArgumentUtility.CheckNotNull ("transformationFactories", transformationFactories); ArgumentUtility.CheckNotNull ("signerFactory", signerFactory); #if PERFORMANCE_TEST Stopwatch s = new Stopwatch (); Stopwatch total = new Stopwatch (); s.Start (); total.Start(); #endif var tracker = trackerFactory.CreateTracker(); #if PERFORMANCE_TEST total.Stop(); Process procObj = Process.GetCurrentProcess (); Console.WriteLine (Environment.NewLine + " Private Memory Size : {0:N0}" + Environment.NewLine + " Virtual Memory Size : {1:N0}" + Environment.NewLine + " Working Set Size: {2:N0}", procObj.PrivateMemorySize64, procObj.VirtualMemorySize64, procObj.WorkingSet64); Console.WriteLine (Environment.NewLine + " Initialization: " + s.Elapsed); Console.WriteLine (Environment.NewLine + " press key to continue with transformations"); total.Start (); s.Restart (); #endif foreach (var factory in transformationFactories) { Console.WriteLine ("Transforming assemblies according to " + factory.GetType().Name); factory.CreateTransformation(infoBroker).Transform (tracker); } infoBroker.Unload(); #if PERFORMANCE_TEST total.Stop (); procObj = Process.GetCurrentProcess (); Console.WriteLine (Environment.NewLine + " Private Memory Size : {0:N0}" + Environment.NewLine + " Virtual Memory Size : {1:N0}" + Environment.NewLine + " Working Set Size: {2:N0}", procObj.PrivateMemorySize64, procObj.VirtualMemorySize64, procObj.WorkingSet64); Console.WriteLine (Environment.NewLine + " Transformation: " + s.Elapsed); Console.WriteLine (Environment.NewLine + " press key to continue with sign and save"); total.Start (); s.Restart (); #endif var signer = signerFactory.CreateSigner(); Console.WriteLine ("Signing and writing the transformed assemblies ... "); signer.SignAndSave (tracker); #if PERFORMANCE_TEST s.Stop(); total.Stop (); procObj = Process.GetCurrentProcess (); Console.WriteLine (Environment.NewLine + " Private Memory Size : {0:N0}" + Environment.NewLine + " Virtual Memory Size : {1:N0}" + Environment.NewLine + " Working Set Size: {2:N0}", procObj.PrivateMemorySize64, procObj.VirtualMemorySize64, procObj.WorkingSet64); Console.WriteLine (Environment.NewLine + " Signing & Saving: " + s.Elapsed); Console.WriteLine (Environment.NewLine + "Total: " + total.Elapsed + Environment.NewLine); #endif }