static void Main(string[] args) { TimeAnalyzer.StartTimeCounter(); LocalData.appMode = AppMode.CleanDeadCodeAndMangle; LocalData.inputDir = new DirectoryInfo("E:/monocecil/_bin"); LocalData.outputDir = new DirectoryInfo("E:/monocecil/_bin2"); LocalData.resolver.AddSearchDirectory(LocalData.outputDir.FullName); LocalData.CleanerRepeatCount = 3; LocalData.verbose = true; LocalData.verboseDeep = false; LocalData.manglePublic = false; LocalFunctions.EnsureOutputDirectory(); FileInfo[] files = LocalData.inputDir.GetFiles("*.dll", SearchOption.AllDirectories); if (files.Count() > 0) { LocalData.BlazorFilesList = new List <BlazorFile>(); foreach (var item in files) { BlazorFile bf = new BlazorFile() { FI = item, Name = item.Name.Replace(".dll", null), module = ModuleDefinition.ReadModule(item.FullName, new ReaderParameters { AssemblyResolver = LocalData.resolver }), OutputFile = new FileInfo(Path.Combine(LocalData.outputDir.FullName, item.Name)), IsPrimary = false, References = new List <BlazorFile>(), }; LocalData.BlazorFilesList.Add(bf); } if (LocalData.BlazorFilesList.Count > 1) { LocalFunctions.AnalyzeReferences(); } else { LocalData.BlazorFilesList.First().IsPrimary = true; } // LocalData.BlazorFilesList.Single(x => x.IsPrimary).Process = false; switch (LocalData.appMode) { case AppMode.CleanDeadCodeAndMangle: LocalFunctions.RunDCCleaner(); LocalFunctions.RunMangler(); LocalFunctions.SaveResult(); break; case AppMode.Mangle: LocalFunctions.RunMangler(); LocalFunctions.SaveResult(); break; case AppMode.CleanDeadCode: LocalFunctions.RunDCCleaner(); LocalFunctions.SaveResult(); break; case AppMode.ReportDeadCode: LocalFunctions.RunDCReporter(); break; default: break; } // LocalFunctions.AnalyzeHardCodedPropertyNames(); // LocalFunctions.AnalyzeOutsideCalls(); } else { Console.WriteLine("Files not found in " + LocalData.inputDir.FullName); } TimeAnalyzer.FinishTimeCounter(); }