diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Modularity/AbpModuleDescriptor.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Modularity/AbpModuleDescriptor.cs index cfd1ce6a4b..d10e858377 100644 --- a/framework/src/Volo.Abp.Core/Volo/Abp/Modularity/AbpModuleDescriptor.cs +++ b/framework/src/Volo.Abp.Core/Volo/Abp/Modularity/AbpModuleDescriptor.cs @@ -1,7 +1,6 @@ using System; using System.Collections.Generic; using System.Collections.Immutable; -using System.Linq; using System.Reflection; using JetBrains.Annotations; @@ -38,7 +37,7 @@ public class AbpModuleDescriptor : IAbpModuleDescriptor Type = type; Assembly = type.Assembly; - AllAssemblies = CreateAllAssembliesList(type); + AllAssemblies = AbpModuleHelper.GetAllAssemblies(type); Instance = instance; IsLoadedAsPlugIn = isLoadedAsPlugIn; @@ -54,25 +53,4 @@ public class AbpModuleDescriptor : IAbpModuleDescriptor { return $"[AbpModuleDescriptor {Type.FullName}]"; } - - private static List CreateAllAssembliesList(Type moduleType) - { - var assemblies = new List(); - - var additionalAssemblyDescriptors = moduleType - .GetCustomAttributes() - .OfType(); - - foreach (var descriptor in additionalAssemblyDescriptors) - { - foreach (var assembly in descriptor.GetAssemblies()) - { - assemblies.AddIfNotContains(assembly); - } - } - - assemblies.Add(moduleType.Assembly); - - return assemblies; - } } diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Modularity/AbpModuleHelper.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Modularity/AbpModuleHelper.cs index 697543409e..8336433994 100644 --- a/framework/src/Volo.Abp.Core/Volo/Abp/Modularity/AbpModuleHelper.cs +++ b/framework/src/Volo.Abp.Core/Volo/Abp/Modularity/AbpModuleHelper.cs @@ -36,6 +36,27 @@ internal static class AbpModuleHelper return dependencies; } + + public static List GetAllAssemblies(Type moduleType) + { + var assemblies = new List(); + + var additionalAssemblyDescriptors = moduleType + .GetCustomAttributes() + .OfType(); + + foreach (var descriptor in additionalAssemblyDescriptors) + { + foreach (var assembly in descriptor.GetAssemblies()) + { + assemblies.AddIfNotContains(assembly); + } + } + + assemblies.Add(moduleType.Assembly); + + return assemblies; + } private static void AddModuleAndDependenciesRecursively( List moduleTypes,