static void GetAllAssemblies(Assembly start) { AllAssemblies.Add(start.FullName, start); foreach (var item in start.GetReferencedAssemblies()) { try { if (AllAssemblies.ContainsKey(item.FullName)) { continue; } var ass = Assembly.Load(item); GetAllAssemblies(ass); } catch (Exception) { //TODO:log } } }