AbpAssemblyFinder.cs 774 B

123456789101112131415161718192021222324252627282930
  1. using System.Collections.Generic;
  2. using System.Linq;
  3. using System.Reflection;
  4. using Abp.Modules;
  5. namespace Abp.Reflection
  6. {
  7. public class AbpAssemblyFinder : IAssemblyFinder
  8. {
  9. private readonly IAbpModuleManager _moduleManager;
  10. public AbpAssemblyFinder(IAbpModuleManager moduleManager)
  11. {
  12. _moduleManager = moduleManager;
  13. }
  14. public List<Assembly> GetAllAssemblies()
  15. {
  16. var assemblies = new List<Assembly>();
  17. foreach (var module in _moduleManager.Modules)
  18. {
  19. assemblies.Add(module.Assembly);
  20. assemblies.AddRange(module.Instance.GetAdditionalAssemblies());
  21. }
  22. return assemblies.Distinct().ToList();
  23. }
  24. }
  25. }