diff --git a/Volo.Abp.sln b/Volo.Abp.sln
index a9a8c728f8..3d32f12a11 100644
--- a/Volo.Abp.sln
+++ b/Volo.Abp.sln
@@ -158,6 +158,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.VirtualFileSystem"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.VirtualFileSystem.Tests", "test\Volo.Abp.VirtualFileSystem.Tests\Volo.Abp.VirtualFileSystem.Tests.csproj", "{F79B6D80-C79B-4C13-9221-CA2345983743}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.Core", "src\Volo.Abp.Core\Volo.Abp.Core.csproj", "{A7A97BFD-48FA-45D1-8423-031BA30BEAA1}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -404,6 +406,10 @@ Global
{F79B6D80-C79B-4C13-9221-CA2345983743}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F79B6D80-C79B-4C13-9221-CA2345983743}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F79B6D80-C79B-4C13-9221-CA2345983743}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A7A97BFD-48FA-45D1-8423-031BA30BEAA1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A7A97BFD-48FA-45D1-8423-031BA30BEAA1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A7A97BFD-48FA-45D1-8423-031BA30BEAA1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A7A97BFD-48FA-45D1-8423-031BA30BEAA1}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -479,6 +485,7 @@ Global
{3E62ED84-8792-4DA6-9B0A-AADEA183C2B3} = {DB012309-74FD-4D5A-B843-DD77BF053BF4}
{6E6A7554-3488-45AB-BC0E-9BDE1F19789D} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
{F79B6D80-C79B-4C13-9221-CA2345983743} = {37087D1B-3693-4E96-983D-A69F210BDE53}
+ {A7A97BFD-48FA-45D1-8423-031BA30BEAA1} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {BB97ECF4-9A84-433F-A80B-2A3285BDD1D5}
diff --git a/src/AbpDesk/AbpDesk.Application.Contracts/AbpDesk/AbpDeskApplicationContractsModule.cs b/src/AbpDesk/AbpDesk.Application.Contracts/AbpDesk/AbpDeskApplicationContractsModule.cs
new file mode 100644
index 0000000000..7786b1df5c
--- /dev/null
+++ b/src/AbpDesk/AbpDesk.Application.Contracts/AbpDesk/AbpDeskApplicationContractsModule.cs
@@ -0,0 +1,11 @@
+using Volo.Abp;
+using Volo.Abp.Modularity;
+
+namespace AbpDesk
+{
+ [DependsOn(typeof(AbpCommonModule))]
+ public class AbpDeskApplicationContractsModule : AbpModule
+ {
+
+ }
+}
diff --git a/src/AbpDesk/AbpDesk.Application/AbpDesk/AbpDeskApplicationModule.cs b/src/AbpDesk/AbpDesk.Application/AbpDesk/AbpDeskApplicationModule.cs
index 8eca7c59cb..eae5693f53 100644
--- a/src/AbpDesk/AbpDesk.Application/AbpDesk/AbpDeskApplicationModule.cs
+++ b/src/AbpDesk/AbpDesk.Application/AbpDesk/AbpDeskApplicationModule.cs
@@ -4,7 +4,11 @@ using Volo.Abp.Modularity;
namespace AbpDesk
{
- [DependsOn(typeof(AbpDeskDomainModule), typeof(AbpAutoMapperModule))]
+ [DependsOn(
+ typeof(AbpDeskDomainModule),
+ typeof(AbpDeskApplicationContractsModule),
+ typeof(AbpAutoMapperModule)
+ )]
public class AbpDeskApplicationModule : AbpModule
{
public override void ConfigureServices(IServiceCollection services)
diff --git a/src/AbpDesk/AbpDesk.Domain/AbpDesk/AbpDeskDomainModule.cs b/src/AbpDesk/AbpDesk.Domain/AbpDesk/AbpDeskDomainModule.cs
index e02eb299c8..ac0859ba17 100644
--- a/src/AbpDesk/AbpDesk.Domain/AbpDesk/AbpDeskDomainModule.cs
+++ b/src/AbpDesk/AbpDesk.Domain/AbpDesk/AbpDeskDomainModule.cs
@@ -1,8 +1,10 @@
using Microsoft.Extensions.DependencyInjection;
+using Volo.Abp;
using Volo.Abp.Modularity;
namespace AbpDesk
{
+ [DependsOn(typeof(AbpCommonModule))]
public class AbpDeskDomainModule : AbpModule
{
public override void ConfigureServices(IServiceCollection services)
diff --git a/src/AbpDesk/AbpDesk.SamplePlugInModule/AbpDeskSamplePlugInModule.cs b/src/AbpDesk/AbpDesk.SamplePlugInModule/AbpDeskSamplePlugInModule.cs
index 29e3de98e2..99b3a94a14 100644
--- a/src/AbpDesk/AbpDesk.SamplePlugInModule/AbpDeskSamplePlugInModule.cs
+++ b/src/AbpDesk/AbpDesk.SamplePlugInModule/AbpDeskSamplePlugInModule.cs
@@ -1,4 +1,5 @@
using Microsoft.Extensions.DependencyInjection;
+using Volo.Abp;
using Volo.Abp.Modularity;
namespace AbpDesk.SamplePlugInModule
@@ -6,6 +7,7 @@ namespace AbpDesk.SamplePlugInModule
/* This is just a sample plugin module to test loading plugin modules.
*/
+ [DependsOn(typeof(AbpCommonModule))]
public class AbpDeskSamplePlugInModule : AbpModule
{
public override void ConfigureServices(IServiceCollection services)
diff --git a/src/AbpDesk/Web_PlugIns/AbpDesk.MongoBlog.dll b/src/AbpDesk/Web_PlugIns/AbpDesk.MongoBlog.dll
index 5570b82fea..0231fbe6f3 100644
Binary files a/src/AbpDesk/Web_PlugIns/AbpDesk.MongoBlog.dll and b/src/AbpDesk/Web_PlugIns/AbpDesk.MongoBlog.dll differ
diff --git a/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/AbpAccountApplicationContractsModule.cs b/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/AbpAccountApplicationContractsModule.cs
index 7c57bb8c50..19ef08e8ff 100644
--- a/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/AbpAccountApplicationContractsModule.cs
+++ b/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/AbpAccountApplicationContractsModule.cs
@@ -3,6 +3,7 @@ using Volo.Abp.Modularity;
namespace Volo.Abp.Account
{
+ [DependsOn(typeof(AbpCommonModule))]
public class AbpAccountApplicationContractsModule : AbpModule
{
public override void ConfigureServices(IServiceCollection services)
diff --git a/src/Volo.Abp.AutoMapper/Volo/Abp/AutoMapper/AbpAutoMapperModule.cs b/src/Volo.Abp.AutoMapper/Volo/Abp/AutoMapper/AbpAutoMapperModule.cs
index 07a3345e33..2515fcde6e 100644
--- a/src/Volo.Abp.AutoMapper/Volo/Abp/AutoMapper/AbpAutoMapperModule.cs
+++ b/src/Volo.Abp.AutoMapper/Volo/Abp/AutoMapper/AbpAutoMapperModule.cs
@@ -10,6 +10,7 @@ using Volo.Abp.Reflection;
namespace Volo.Abp.AutoMapper
{
+ [DependsOn(typeof(AbpCommonModule))]
public class AbpAutoMapperModule : AbpModule
{
private static volatile bool _createdMappingsBefore;
diff --git a/src/Volo.Abp.Autofac/Volo.Abp.Autofac.csproj b/src/Volo.Abp.Autofac/Volo.Abp.Autofac.csproj
index 49ed5ff8f0..0dbde0baf7 100644
--- a/src/Volo.Abp.Autofac/Volo.Abp.Autofac.csproj
+++ b/src/Volo.Abp.Autofac/Volo.Abp.Autofac.csproj
@@ -19,7 +19,6 @@
-
\ No newline at end of file
diff --git a/src/Volo.Abp.Castle.Core/Volo/Abp/Castle/AbpCastleCoreModule.cs b/src/Volo.Abp.Castle.Core/Volo/Abp/Castle/AbpCastleCoreModule.cs
index d250aab5d0..55c4302af8 100644
--- a/src/Volo.Abp.Castle.Core/Volo/Abp/Castle/AbpCastleCoreModule.cs
+++ b/src/Volo.Abp.Castle.Core/Volo/Abp/Castle/AbpCastleCoreModule.cs
@@ -4,6 +4,7 @@ using Volo.Abp.Modularity;
namespace Volo.Abp.Castle
{
+ [DependsOn(typeof(AbpCommonModule))]
public class AbpCastleCoreModule : AbpModule
{
public override void ConfigureServices(IServiceCollection services)
diff --git a/src/Volo.Abp/Microsoft/Extensions/DependencyInjection/ServiceCollectionApplicationExtensions.cs b/src/Volo.Abp.Core/Microsoft/Extensions/DependencyInjection/ServiceCollectionApplicationExtensions.cs
similarity index 100%
rename from src/Volo.Abp/Microsoft/Extensions/DependencyInjection/ServiceCollectionApplicationExtensions.cs
rename to src/Volo.Abp.Core/Microsoft/Extensions/DependencyInjection/ServiceCollectionApplicationExtensions.cs
diff --git a/src/Volo.Abp/Microsoft/Extensions/DependencyInjection/ServiceCollectionCommonExtensions.cs b/src/Volo.Abp.Core/Microsoft/Extensions/DependencyInjection/ServiceCollectionCommonExtensions.cs
similarity index 94%
rename from src/Volo.Abp/Microsoft/Extensions/DependencyInjection/ServiceCollectionCommonExtensions.cs
rename to src/Volo.Abp.Core/Microsoft/Extensions/DependencyInjection/ServiceCollectionCommonExtensions.cs
index 36188d5422..240513a5ce 100644
--- a/src/Volo.Abp/Microsoft/Extensions/DependencyInjection/ServiceCollectionCommonExtensions.cs
+++ b/src/Volo.Abp.Core/Microsoft/Extensions/DependencyInjection/ServiceCollectionCommonExtensions.cs
@@ -124,7 +124,7 @@ namespace Microsoft.Extensions.DependencyInjection
/// Returns a to resolve a service from given
/// once dependency injection registration phase completed.
///
- internal static Lazy GetServiceLazy(this IServiceCollection services)
+ public static Lazy GetServiceLazy(this IServiceCollection services)
{
return new Lazy(services.GetService, true);
}
@@ -133,7 +133,7 @@ namespace Microsoft.Extensions.DependencyInjection
/// Returns a to resolve a service from given
/// once dependency injection registration phase completed.
///
- internal static Lazy