private static void Main(string[] args) { string entryDir = args.FirstOrDefault(); if (entryDir == null || !Directory.Exists(entryDir)) { Log(@"Please, provide valid entry directory path as the argument. For example: MethodLogger.exe ""c:\\temp\\MethodLoggerInput\\"""); Console.ReadLine(); return; } var additionalFileMasksToExclude = args.Length == 2 ? args[1].Split(',') : new string[0]; string status = "succeeded"; // try // { IEnumerable <string> libs = GetLibsToWeave(entryDir, additionalFileMasksToExclude); var weaver = new LibWeaver(); int weavedMethodsNum = weaver.WeaveList(libs, Notify.Enter, Log); // } // catch (Exception e) // { // Log(e.ToString()); // status = "FAILED!"; // } Log(string.Format("\r\nWeaving {0}. Weaved {1} methods. Warning!! Make sure the mumber less than WeavedNotifier.MaxMethodCount!", status, weavedMethodsNum)); if (Debugger.IsAttached) { Console.ReadLine(); } }
private static AssemblyDefinition ReadAssembly(string assemblyPath) { return(AssemblyDefinition.ReadAssembly(assemblyPath, new ReaderParameters { AssemblyResolver = LibWeaver.GetCurrentDirectoryAssemblyResolver(assemblyPath) })); }