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();
            }
        }
Esempio n. 2
0
 private static AssemblyDefinition ReadAssembly(string assemblyPath)
 {
     return(AssemblyDefinition.ReadAssembly(assemblyPath, new ReaderParameters {
         AssemblyResolver = LibWeaver.GetCurrentDirectoryAssemblyResolver(assemblyPath)
     }));
 }