private static void Main(string[] args) { if (args.Length < 1) { Console.WriteLine("You must pass the assembly path in the first parameter."); return; } var assemblyPath = args[0]; if (Path.GetExtension(assemblyPath) != FileExtensions.Dll && Path.GetExtension(assemblyPath) != FileExtensions.Exe) { Console.WriteLine("You must pass a path to dll or exe file."); return; } try { var assembly = Assembly.LoadFrom(assemblyPath); AssemblyXmlSerializer.SerializeAssemblyToFile(assembly, assemblyPath + FileExtensions.Xml); Console.WriteLine($"Saved to: {assemblyPath + FileExtensions.Xml}"); } catch (Exception e) { Console.WriteLine(e.Message); } }
private void OnNewFileLoaded(string fileName, string safeFileName) { var assemblyInfo = AssemblyXmlSerializer.ParseFromXmlFile(fileName); if (assemblyInfo != null) { var tabPage = new TabPage(safeFileName); tabControl1.TabPages.Add(tabPage); var treeView = new TreeView(); treeView.AfterSelect += (sender, e) => { ClearEditAttributesArea(); _selectedNode = e.Node; OnNodeSelected(_selectedNode); }; treeView.Parent = tabPage; treeView.Dock = DockStyle.Fill; var assemblyNode = TreeViewBuilder.BuildTreeViewFromAssembly(assemblyInfo); LoadTreeViewToVisualElement(treeView, assemblyNode); } else { MessageBox.Show($"Can't open file \"{safeFileName}\".", "Error.", MessageBoxButtons.OK); } }