/// <summary> /// Run analysis and display data from it /// </summary> private void walkAndShowCollectedData(List <string> a) { Cursor.Current = Cursors.WaitCursor; this.Text = "DependencyWalker.Net - [" + String.Join(",", a.Select(x => Path.GetFileName(x)).ToArray()) + "]"; if (w != null) { w.Dispose(); w = null; } GC.Collect(); GC.WaitForPendingFinalizers(); w = new Walker(a); w.parent = this; w.includeGAC = cbShowGac.Checked; w.runIt(); tssLoadedInfo.Text = (w.refass.Count + w.listOfFilenames2Check.Count) + " modules/" + w.type2ass.Count + " types"; this.listOfTypes = w.type2ass.Keys.ToList(); this.listOfTypes.Sort(); this.searchTypeTxt_TextChanged(this, null); if (w.refass.Count > 0) { if (!tcMain.TabPages.Contains(tpListOfReferences)) { tcMain.TabPages.Add(tpListOfReferences); } tbUsedBy.Text = ""; this.tbListOfReferences.Text = ""; foreach (string s in w.refass.Keys) { this.tbListOfReferences.Text += s + "\r\n"; } this.tbListOfReferences.Text += "\r\n\r\n\r\n"; foreach (string s in w.refass2filename.Keys) { this.tbListOfReferences.Text += (new Uri(w.refass2filename[s])).AbsolutePath + "\r\n"; } } else { tcMain.TabPages.Remove(tpListOfReferences); } if (w.errors.Count > 0) { if (!tcMain.TabPages.Contains(tpErrors)) { tcMain.TabPages.Add(tpErrors); } tbErrors.Text = ""; foreach (string s in w.errors.Values) { tbErrors.Text += "\r\n\r\n" + s; } } else { tcMain.TabPages.Remove(tpErrors); } Cursor.Current = Cursors.Default; }