|
@@ -47,35 +47,35 @@ public static class DependencyInjectionExtensions
|
|
|
|
|
|
return allAssemblies;
|
|
|
//
|
|
|
- HashSet<string> loadedAssemblies = new();
|
|
|
-
|
|
|
- foreach (var item in allAssemblies)
|
|
|
- {
|
|
|
- loadedAssemblies.Add(item.FullName!);
|
|
|
- }
|
|
|
-
|
|
|
- Queue<Assembly> assembliesToCheck = new();
|
|
|
- assembliesToCheck.Enqueue(Assembly.GetEntryAssembly()!);
|
|
|
-
|
|
|
- while (assembliesToCheck.Any())
|
|
|
- {
|
|
|
- var assemblyToCheck = assembliesToCheck.Dequeue();
|
|
|
- var referencedAssemblies = assemblyToCheck!.GetReferencedAssemblies();
|
|
|
- foreach (var reference in referencedAssemblies)
|
|
|
- {
|
|
|
- if (!loadedAssemblies.Contains(reference.FullName))
|
|
|
- {
|
|
|
- var assembly = Assembly.Load(reference);
|
|
|
- assembliesToCheck.Enqueue(assembly);
|
|
|
-
|
|
|
- loadedAssemblies.Add(reference.FullName);
|
|
|
-
|
|
|
- allAssemblies.Add(assembly);
|
|
|
-
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- return allAssemblies;
|
|
|
+ //HashSet<string> loadedAssemblies = new();
|
|
|
+
|
|
|
+ //foreach (var item in allAssemblies)
|
|
|
+ //{
|
|
|
+ // loadedAssemblies.Add(item.FullName!);
|
|
|
+ //}
|
|
|
+
|
|
|
+ //Queue<Assembly> assembliesToCheck = new();
|
|
|
+ //assembliesToCheck.Enqueue(Assembly.GetEntryAssembly()!);
|
|
|
+
|
|
|
+ //while (assembliesToCheck.Any())
|
|
|
+ //{
|
|
|
+ // var assemblyToCheck = assembliesToCheck.Dequeue();
|
|
|
+ // var referencedAssemblies = assemblyToCheck!.GetReferencedAssemblies();
|
|
|
+ // foreach (var reference in referencedAssemblies)
|
|
|
+ // {
|
|
|
+ // if (!loadedAssemblies.Contains(reference.FullName))
|
|
|
+ // {
|
|
|
+ // var assembly = Assembly.Load(reference);
|
|
|
+ // assembliesToCheck.Enqueue(assembly);
|
|
|
+
|
|
|
+ // loadedAssemblies.Add(reference.FullName);
|
|
|
+
|
|
|
+ // allAssemblies.Add(assembly);
|
|
|
+
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ //}
|
|
|
+ //return allAssemblies;
|
|
|
}
|
|
|
}
|
|
|
|