diff --git a/aspnet-core/Directory.Build.Volo.targets b/aspnet-core/Directory.Build.Volo.targets
index c51f5abe..6aa7628c 100644
--- a/aspnet-core/Directory.Build.Volo.targets
+++ b/aspnet-core/Directory.Build.Volo.targets
@@ -85,8 +85,7 @@
-
-
+
\ No newline at end of file
diff --git a/aspnet-core/Lion.AbpPro.sln b/aspnet-core/Lion.AbpPro.sln
index 42663cba..c777b7c3 100644
--- a/aspnet-core/Lion.AbpPro.sln
+++ b/aspnet-core/Lion.AbpPro.sln
@@ -48,10 +48,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "modules", "modules", "{F8A8
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "frameworks", "frameworks", "{CC2EBB07-A070-4158-AB37-A0C0BBAEA9F5}"
EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Extensions", "Extensions", "{9F5676A3-00DC-48B7-93D1-341C39E19BB9}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{C4AC9352-C9F5-4096-8D73-13638232CFB9}"
-EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NotificationManagement", "NotificationManagement", "{EB2B8705-18E7-49E1-A565-93A6DE5570D5}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{E28AECBD-2904-477C-9817-C67312330A41}"
@@ -114,10 +110,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.DataDictionaryM
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "host", "host", "{8C1B8C6C-C518-4290-B070-622CCA6004DA}"
EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "CAP", "CAP", "{2C09EED0-5AF6-4F1E-B05A-FB3272EDF6E8}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{11ED8435-B5AE-4BF3-9D4B-51FA1E4A18A6}"
-EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.HttpApi.Host", "services\host\Lion.AbpPro.HttpApi.Host\Lion.AbpPro.HttpApi.Host.csproj", "{FB20372D-6C96-4733-9AAC-12522F15CAA6}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "shared", "shared", "{6434E3F2-B352-4B30-839A-88C2BA166D96}"
@@ -130,10 +122,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "gateways", "gateways", "{5C
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.WebGateway", "gateways\Lion.AbpPro.WebGateway\Lion.AbpPro.WebGateway.csproj", "{D9108313-8D05-4F5F-9AA0-B443EC3374B6}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.Extension", "frameworks\Extensions\src\Lion.AbpPro.Extension\Lion.AbpPro.Extension.csproj", "{4C65690E-2C17-46A1-BB35-A51BAB2EA3B7}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.CAP", "frameworks\CAP\src\Lion.AbpPro.CAP\Lion.AbpPro.CAP.csproj", "{3C3FF821-E43D-4D58-8B3C-1E97F4518EF7}"
-EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "FileManagement", "FileManagement", "{F604F9BE-CAAB-4D94-8989-22DE4D966C7A}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "host", "host", "{C188A1F4-9601-42E5-9A0A-B282E13EAC41}"
@@ -208,6 +196,20 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lion.AbpPro.BasicManagement
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lion.AbpPro.BasicManagement.HttpApi.Host", "modules\BasicManagement\host\Lion.AbpPro.BasicManagement.HttpApi.Host\Lion.AbpPro.BasicManagement.HttpApi.Host.csproj", "{26765303-B9D8-457B-915C-ED869CEEB210}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lion.AbpPro.Core", "frameworks\src\Lion.AbpPro.Core\Lion.AbpPro.Core.csproj", "{F22611C1-0DAE-408D-B034-7005906536F6}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lion.AbpPro.Localization", "frameworks\src\Lion.AbpPro.Localization\Lion.AbpPro.Localization.csproj", "{EF7D01D6-9F90-4E24-B134-BA13E9965D78}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lion.AbpPro.CAP", "frameworks\src\Lion.AbpPro.CAP\Lion.AbpPro.CAP.csproj", "{D1A86DB0-DABB-47B6-BC71-C49318AF5534}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{7BE85EBC-99AD-4CDE-957E-4BDD087FC4E3}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{EFC415F8-872F-4C7E-8645-31A51481BCFC}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lion.AbpPro.Localization.Tests", "frameworks\test\Lion.AbpPro.Localization.Tests\Lion.AbpPro.Localization.Tests.csproj", "{800A02FA-EA70-4492-9A93-13C820692F1D}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lion.AbpPro.Core.Tests", "frameworks\test\Lion.AbpPro.Core.Tests\Lion.AbpPro.Core.Tests.csproj", "{A7206D58-8107-4BB9-8962-30C845ACB6DC}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -374,14 +376,6 @@ Global
{D9108313-8D05-4F5F-9AA0-B443EC3374B6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D9108313-8D05-4F5F-9AA0-B443EC3374B6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D9108313-8D05-4F5F-9AA0-B443EC3374B6}.Release|Any CPU.Build.0 = Release|Any CPU
- {4C65690E-2C17-46A1-BB35-A51BAB2EA3B7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {4C65690E-2C17-46A1-BB35-A51BAB2EA3B7}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {4C65690E-2C17-46A1-BB35-A51BAB2EA3B7}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {4C65690E-2C17-46A1-BB35-A51BAB2EA3B7}.Release|Any CPU.Build.0 = Release|Any CPU
- {3C3FF821-E43D-4D58-8B3C-1E97F4518EF7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {3C3FF821-E43D-4D58-8B3C-1E97F4518EF7}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {3C3FF821-E43D-4D58-8B3C-1E97F4518EF7}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {3C3FF821-E43D-4D58-8B3C-1E97F4518EF7}.Release|Any CPU.Build.0 = Release|Any CPU
{866B0894-2B50-484E-BE7E-F221956557F3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{866B0894-2B50-484E-BE7E-F221956557F3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{866B0894-2B50-484E-BE7E-F221956557F3}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -494,6 +488,26 @@ Global
{26765303-B9D8-457B-915C-ED869CEEB210}.Debug|Any CPU.Build.0 = Debug|Any CPU
{26765303-B9D8-457B-915C-ED869CEEB210}.Release|Any CPU.ActiveCfg = Release|Any CPU
{26765303-B9D8-457B-915C-ED869CEEB210}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F22611C1-0DAE-408D-B034-7005906536F6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F22611C1-0DAE-408D-B034-7005906536F6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F22611C1-0DAE-408D-B034-7005906536F6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F22611C1-0DAE-408D-B034-7005906536F6}.Release|Any CPU.Build.0 = Release|Any CPU
+ {EF7D01D6-9F90-4E24-B134-BA13E9965D78}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {EF7D01D6-9F90-4E24-B134-BA13E9965D78}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {EF7D01D6-9F90-4E24-B134-BA13E9965D78}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {EF7D01D6-9F90-4E24-B134-BA13E9965D78}.Release|Any CPU.Build.0 = Release|Any CPU
+ {D1A86DB0-DABB-47B6-BC71-C49318AF5534}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D1A86DB0-DABB-47B6-BC71-C49318AF5534}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D1A86DB0-DABB-47B6-BC71-C49318AF5534}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D1A86DB0-DABB-47B6-BC71-C49318AF5534}.Release|Any CPU.Build.0 = Release|Any CPU
+ {800A02FA-EA70-4492-9A93-13C820692F1D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {800A02FA-EA70-4492-9A93-13C820692F1D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {800A02FA-EA70-4492-9A93-13C820692F1D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {800A02FA-EA70-4492-9A93-13C820692F1D}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A7206D58-8107-4BB9-8962-30C845ACB6DC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A7206D58-8107-4BB9-8962-30C845ACB6DC}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A7206D58-8107-4BB9-8962-30C845ACB6DC}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A7206D58-8107-4BB9-8962-30C845ACB6DC}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -514,8 +528,6 @@ Global
{E512F4D9-9375-480F-A2F6-A46509F9D824} = {04DBDB01-70F4-4E06-B468-8F87850B22BE}
{EF480016-9127-4916-8735-D2466BDBC582} = {04DBDB01-70F4-4E06-B468-8F87850B22BE}
{AA94D832-1CCC-4715-95A9-A483F23A1A5D} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0}
- {9F5676A3-00DC-48B7-93D1-341C39E19BB9} = {CC2EBB07-A070-4158-AB37-A0C0BBAEA9F5}
- {C4AC9352-C9F5-4096-8D73-13638232CFB9} = {9F5676A3-00DC-48B7-93D1-341C39E19BB9}
{EB2B8705-18E7-49E1-A565-93A6DE5570D5} = {F8A8EB2A-2D4B-464F-9A13-F8F7B6A8FAA3}
{E28AECBD-2904-477C-9817-C67312330A41} = {EB2B8705-18E7-49E1-A565-93A6DE5570D5}
{120FE15B-3E5C-4BFF-B874-F09235C9E1ED} = {EB2B8705-18E7-49E1-A565-93A6DE5570D5}
@@ -547,14 +559,10 @@ Global
{5AACD0EE-F2B2-49F6-868F-8FE08D7243C0} = {9C53260A-6F4B-4106-98B0-EDCC10BB3E1A}
{8D196E3D-6F95-4793-B948-79669AF09017} = {5AACD0EE-F2B2-49F6-868F-8FE08D7243C0}
{8C1B8C6C-C518-4290-B070-622CCA6004DA} = {2C861ADD-76E9-4B3B-8A3C-638EBB67D683}
- {2C09EED0-5AF6-4F1E-B05A-FB3272EDF6E8} = {CC2EBB07-A070-4158-AB37-A0C0BBAEA9F5}
- {11ED8435-B5AE-4BF3-9D4B-51FA1E4A18A6} = {2C09EED0-5AF6-4F1E-B05A-FB3272EDF6E8}
{FB20372D-6C96-4733-9AAC-12522F15CAA6} = {8C1B8C6C-C518-4290-B070-622CCA6004DA}
{A091AE9B-3A1E-49AC-9AD5-D29310512A3D} = {6434E3F2-B352-4B30-839A-88C2BA166D96}
{C018EFF9-579E-43B3-9181-543BE95E2E03} = {6434E3F2-B352-4B30-839A-88C2BA166D96}
{D9108313-8D05-4F5F-9AA0-B443EC3374B6} = {5C304CBC-F30D-413C-A0AF-8B6814A2D4A3}
- {4C65690E-2C17-46A1-BB35-A51BAB2EA3B7} = {C4AC9352-C9F5-4096-8D73-13638232CFB9}
- {3C3FF821-E43D-4D58-8B3C-1E97F4518EF7} = {11ED8435-B5AE-4BF3-9D4B-51FA1E4A18A6}
{F604F9BE-CAAB-4D94-8989-22DE4D966C7A} = {F8A8EB2A-2D4B-464F-9A13-F8F7B6A8FAA3}
{C188A1F4-9601-42E5-9A0A-B282E13EAC41} = {F604F9BE-CAAB-4D94-8989-22DE4D966C7A}
{2CC8E555-AA80-4D7A-B606-0821E6754187} = {F604F9BE-CAAB-4D94-8989-22DE4D966C7A}
@@ -592,6 +600,13 @@ Global
{2BACB63E-2830-4371-AEBB-E8089E3EB316} = {6464122A-1DC2-45E8-B599-4B5C32FBC85B}
{19A28EF9-A5AE-4EC5-851C-D2547E5FE29C} = {6464122A-1DC2-45E8-B599-4B5C32FBC85B}
{26765303-B9D8-457B-915C-ED869CEEB210} = {4E6D558B-CA6D-4133-8701-FDC6F245DA37}
+ {7BE85EBC-99AD-4CDE-957E-4BDD087FC4E3} = {CC2EBB07-A070-4158-AB37-A0C0BBAEA9F5}
+ {D1A86DB0-DABB-47B6-BC71-C49318AF5534} = {7BE85EBC-99AD-4CDE-957E-4BDD087FC4E3}
+ {F22611C1-0DAE-408D-B034-7005906536F6} = {7BE85EBC-99AD-4CDE-957E-4BDD087FC4E3}
+ {EF7D01D6-9F90-4E24-B134-BA13E9965D78} = {7BE85EBC-99AD-4CDE-957E-4BDD087FC4E3}
+ {EFC415F8-872F-4C7E-8645-31A51481BCFC} = {CC2EBB07-A070-4158-AB37-A0C0BBAEA9F5}
+ {800A02FA-EA70-4492-9A93-13C820692F1D} = {EFC415F8-872F-4C7E-8645-31A51481BCFC}
+ {A7206D58-8107-4BB9-8962-30C845ACB6DC} = {EFC415F8-872F-4C7E-8645-31A51481BCFC}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {28315BFD-90E7-4E14-A2EA-F3D23AF4126F}
diff --git a/aspnet-core/frameworks/CAP/src/Lion.AbpPro.CAP/AbpProAbpCapConsumerServiceSelector.cs b/aspnet-core/frameworks/CAP/src/Lion.AbpPro.CAP/AbpProAbpCapConsumerServiceSelector.cs
deleted file mode 100644
index 55b6f51b..00000000
--- a/aspnet-core/frameworks/CAP/src/Lion.AbpPro.CAP/AbpProAbpCapConsumerServiceSelector.cs
+++ /dev/null
@@ -1,117 +0,0 @@
-namespace Lion.AbpPro.CAP
-{
- [Dependency(ServiceLifetime.Singleton, ReplaceServices = true)]
- [ExposeServices(typeof(IConsumerServiceSelector))]
- public sealed class AbpProAbpCapConsumerServiceSelector : ConsumerServiceSelector
- {
- private AbpDistributedEventBusOptions AbpDistributedEventBusOptions { get; }
- private IServiceProvider ServiceProvider { get; }
-
- ///
- /// Creates a new .
- ///
- public AbpProAbpCapConsumerServiceSelector(
- IServiceProvider serviceProvider,
- IOptions distributedEventBusOptions)
- : base(serviceProvider)
- {
- ServiceProvider = serviceProvider;
- AbpDistributedEventBusOptions = distributedEventBusOptions.Value;
- }
-
- protected override IEnumerable FindConsumersFromInterfaceTypes(IServiceProvider provider)
- {
- var executorDescriptorList = base.FindConsumersFromInterfaceTypes(provider).ToList();
-
- //handlers
- var handlers = AbpDistributedEventBusOptions.Handlers;
-
- foreach (var handler in handlers)
- {
- var interfaces = handler.GetInterfaces();
- foreach (var @interface in interfaces)
- {
- if (!typeof(IEventHandler).GetTypeInfo().IsAssignableFrom(@interface))
- {
- continue;
- }
- var genericArgs = @interface.GetGenericArguments();
-
- if (genericArgs.Length != 1)
- {
- continue;
- }
-
- var descriptors = GetHandlerDescription(genericArgs[0], handler);
-
- foreach (var descriptor in descriptors)
- {
- var count = executorDescriptorList.Count(x =>
- x.Attribute.Name == descriptor.Attribute.Name);
-
- descriptor.Attribute.Group = descriptor.Attribute.Group.Insert(
- descriptor.Attribute.Group.LastIndexOf(".", StringComparison.Ordinal), $".{count}");
-
- executorDescriptorList.Add(descriptor);
- }
-
- //Subscribe(genericArgs[0], new IocEventHandlerFactory(ServiceScopeFactory, handler));
- }
- }
- return executorDescriptorList;
- }
-
- private IEnumerable GetHandlerDescription(Type eventType,Type typeInfo)
- {
- var serviceTypeInfo = typeof(IDistributedEventHandler<>)
- .MakeGenericType(eventType);
- var method = typeInfo
- .GetMethod(
- nameof(IDistributedEventHandler