private void RunAnalysis() { try { var reader = new ReferenceReader(); var result = reader.Read(AssemblyPath, IgnoreSystemAssemblies); var bindingRedirects = ConfigurationHelper.GetBindingRedirects(ConfigPath); var analyser = new ReferenceAnalyser(); result = analyser.AnalyzeReferences(result, bindingRedirects); var builder = new GraphBuilder(); var doc = builder.BuildDgml(result); var path = Path.GetTempFileName(); path = Path.ChangeExtension(path, ".dgml"); doc.Save(path); DTEHelper.OpenFile(path); } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
static void Main(string[] args) { var reader = new ReferenceReader(); var analyser = new ReferenceAnalyser(); var entryAssemblyPath = args[0]; while (string.IsNullOrWhiteSpace(entryAssemblyPath)) { Console.WriteLine("Enter path to assembly to analyze:"); entryAssemblyPath = Console.ReadLine(); } string configFilePath; ConfigurationHelper.TrySuggestConfigFile(entryAssemblyPath, out configFilePath); var result = reader.Read(entryAssemblyPath); result = analyser.AnalyzeReferences(result, ConfigurationHelper.GetBindingRedirects(configFilePath)); Console.WriteLine("Select outout mode: C - outout to console, D - output to dgml file"); var mode = Console.ReadKey(); Console.WriteLine(); switch (mode.Key) { case ConsoleKey.C: WriteReferencesToConsole(result); break; case ConsoleKey.D: WriteReferencesToDgmlFile(result); break; } }