diff --git a/Volo.Abp.sln b/Volo.Abp.sln
index 5967ca18d1..c9d787ee4b 100644
--- a/Volo.Abp.sln
+++ b/Volo.Abp.sln
@@ -176,6 +176,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.MultiTenancy.Abstr
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.ObjectMapping", "src\Volo.Abp.ObjectMapping\Volo.Abp.ObjectMapping.csproj", "{8D22063D-88DE-4F7A-A917-C81AB4ACE601}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.Validation", "src\Volo.Abp.Validation\Volo.Abp.Validation.csproj", "{5BECBCEF-459F-424B-A15A-0558D291842A}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Validation.Tests", "test\Volo.Abp.Validation.Tests\Volo.Abp.Validation.Tests.csproj", "{87117AFB-4C87-40CB-889E-F1D97C504906}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -458,6 +462,14 @@ Global
{8D22063D-88DE-4F7A-A917-C81AB4ACE601}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8D22063D-88DE-4F7A-A917-C81AB4ACE601}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8D22063D-88DE-4F7A-A917-C81AB4ACE601}.Release|Any CPU.Build.0 = Release|Any CPU
+ {5BECBCEF-459F-424B-A15A-0558D291842A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {5BECBCEF-459F-424B-A15A-0558D291842A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {5BECBCEF-459F-424B-A15A-0558D291842A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {5BECBCEF-459F-424B-A15A-0558D291842A}.Release|Any CPU.Build.0 = Release|Any CPU
+ {87117AFB-4C87-40CB-889E-F1D97C504906}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {87117AFB-4C87-40CB-889E-F1D97C504906}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {87117AFB-4C87-40CB-889E-F1D97C504906}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {87117AFB-4C87-40CB-889E-F1D97C504906}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -542,6 +554,8 @@ Global
{5D2275B7-0745-420A-AF1C-32C563DAB5C8} = {37087D1B-3693-4E96-983D-A69F210BDE53}
{10EB789E-C993-4BE8-BA43-C419936C7233} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
{8D22063D-88DE-4F7A-A917-C81AB4ACE601} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
+ {5BECBCEF-459F-424B-A15A-0558D291842A} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
+ {87117AFB-4C87-40CB-889E-F1D97C504906} = {37087D1B-3693-4E96-983D-A69F210BDE53}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {BB97ECF4-9A84-433F-A80B-2A3285BDD1D5}
diff --git a/src/AbpDesk/Web_PlugIns/AbpDesk.MongoBlog.dll b/src/AbpDesk/Web_PlugIns/AbpDesk.MongoBlog.dll
index 07582f4fa6..11121cf4fc 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.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/RazorPages/AbpPageModel.cs b/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/RazorPages/AbpPageModel.cs
index 5c337d15b3..7954091d6d 100644
--- a/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/RazorPages/AbpPageModel.cs
+++ b/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/RazorPages/AbpPageModel.cs
@@ -7,7 +7,6 @@ using Volo.Abp.AspNetCore.Mvc.Validation;
using Volo.Abp.Guids;
using Volo.Abp.ObjectMapping;
using Volo.Abp.Uow;
-using Volo.Abp.Validation;
namespace Volo.Abp.AspNetCore.Mvc.RazorPages
{
diff --git a/src/Volo.Abp/Volo/Abp/Aspects/AbpCrossCuttingConcerns.cs b/src/Volo.Abp.Core/Volo/Abp/Aspects/AbpCrossCuttingConcerns.cs
similarity index 95%
rename from src/Volo.Abp/Volo/Abp/Aspects/AbpCrossCuttingConcerns.cs
rename to src/Volo.Abp.Core/Volo/Abp/Aspects/AbpCrossCuttingConcerns.cs
index 87319241e7..35aa6d0811 100644
--- a/src/Volo.Abp/Volo/Abp/Aspects/AbpCrossCuttingConcerns.cs
+++ b/src/Volo.Abp.Core/Volo/Abp/Aspects/AbpCrossCuttingConcerns.cs
@@ -4,8 +4,10 @@ using JetBrains.Annotations;
namespace Volo.Abp.Aspects
{
- internal static class AbpCrossCuttingConcerns
+ public static class AbpCrossCuttingConcerns
{
+ //TODO: Move these constants to their own assemblies!
+
public const string Auditing = "AbpAuditing";
public const string Validation = "AbpValidation";
public const string UnitOfWork = "AbpUnitOfWork";
diff --git a/src/Volo.Abp/Volo/Abp/Aspects/IAvoidDuplicateCrossCuttingConcerns.cs b/src/Volo.Abp.Core/Volo/Abp/Aspects/IAvoidDuplicateCrossCuttingConcerns.cs
similarity index 100%
rename from src/Volo.Abp/Volo/Abp/Aspects/IAvoidDuplicateCrossCuttingConcerns.cs
rename to src/Volo.Abp.Core/Volo/Abp/Aspects/IAvoidDuplicateCrossCuttingConcerns.cs
diff --git a/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/DependencyInjection/AbpDbContextRegistrationOptions.cs b/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/DependencyInjection/AbpDbContextRegistrationOptions.cs
index ed4cf4ce57..172461a913 100644
--- a/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/DependencyInjection/AbpDbContextRegistrationOptions.cs
+++ b/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/DependencyInjection/AbpDbContextRegistrationOptions.cs
@@ -1,4 +1,5 @@
using Volo.Abp.Data;
+using Volo.Abp.DependencyInjection;
namespace Volo.Abp.EntityFrameworkCore.DependencyInjection
{
diff --git a/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/DependencyInjection/IAbpDbContextRegistrationOptionsBuilder.cs b/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/DependencyInjection/IAbpDbContextRegistrationOptionsBuilder.cs
index 2de7568857..db094128a6 100644
--- a/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/DependencyInjection/IAbpDbContextRegistrationOptionsBuilder.cs
+++ b/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/DependencyInjection/IAbpDbContextRegistrationOptionsBuilder.cs
@@ -1,4 +1,5 @@
using Volo.Abp.Data;
+using Volo.Abp.DependencyInjection;
namespace Volo.Abp.EntityFrameworkCore.DependencyInjection
{
diff --git a/src/Volo.Abp.MemoryDb/Volo/Abp/MemoryDb/DependencyInjection/IMemoryDbContextRegistrationOptionsBuilder.cs b/src/Volo.Abp.MemoryDb/Volo/Abp/MemoryDb/DependencyInjection/IMemoryDbContextRegistrationOptionsBuilder.cs
index 240dd4803b..9fb3c21409 100644
--- a/src/Volo.Abp.MemoryDb/Volo/Abp/MemoryDb/DependencyInjection/IMemoryDbContextRegistrationOptionsBuilder.cs
+++ b/src/Volo.Abp.MemoryDb/Volo/Abp/MemoryDb/DependencyInjection/IMemoryDbContextRegistrationOptionsBuilder.cs
@@ -1,4 +1,5 @@
using Volo.Abp.Data;
+using Volo.Abp.DependencyInjection;
namespace Volo.Abp.MemoryDb.DependencyInjection
{
diff --git a/src/Volo.Abp.MemoryDb/Volo/Abp/MemoryDb/DependencyInjection/MemoryDbContextRegistrationOptions.cs b/src/Volo.Abp.MemoryDb/Volo/Abp/MemoryDb/DependencyInjection/MemoryDbContextRegistrationOptions.cs
index 59901ab4b1..a8150f988b 100644
--- a/src/Volo.Abp.MemoryDb/Volo/Abp/MemoryDb/DependencyInjection/MemoryDbContextRegistrationOptions.cs
+++ b/src/Volo.Abp.MemoryDb/Volo/Abp/MemoryDb/DependencyInjection/MemoryDbContextRegistrationOptions.cs
@@ -1,4 +1,5 @@
using Volo.Abp.Data;
+using Volo.Abp.DependencyInjection;
namespace Volo.Abp.MemoryDb.DependencyInjection
{
diff --git a/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DependencyInjection/IMongoDbContextRegistrationOptionsBuilder.cs b/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DependencyInjection/IMongoDbContextRegistrationOptionsBuilder.cs
index a2c2f77075..3e626b6558 100644
--- a/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DependencyInjection/IMongoDbContextRegistrationOptionsBuilder.cs
+++ b/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DependencyInjection/IMongoDbContextRegistrationOptionsBuilder.cs
@@ -1,4 +1,5 @@
using Volo.Abp.Data;
+using Volo.Abp.DependencyInjection;
namespace Volo.Abp.MongoDB.DependencyInjection
{
diff --git a/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DependencyInjection/MongoDbContextRegistrationOptions.cs b/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DependencyInjection/MongoDbContextRegistrationOptions.cs
index b3d46f52f3..2c243cd871 100644
--- a/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DependencyInjection/MongoDbContextRegistrationOptions.cs
+++ b/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DependencyInjection/MongoDbContextRegistrationOptions.cs
@@ -1,4 +1,5 @@
using Volo.Abp.Data;
+using Volo.Abp.DependencyInjection;
namespace Volo.Abp.MongoDB.DependencyInjection
{
diff --git a/src/Volo.Abp.Validation/Volo.Abp.Validation.csproj b/src/Volo.Abp.Validation/Volo.Abp.Validation.csproj
new file mode 100644
index 0000000000..99ce6e2710
--- /dev/null
+++ b/src/Volo.Abp.Validation/Volo.Abp.Validation.csproj
@@ -0,0 +1,20 @@
+
+
+
+
+
+ netstandard2.0
+ Volo.Abp.Validation
+ Volo.Abp.Validation
+ $(AssetTargetFallback);portable-net45+win8+wp8+wpa81;
+ false
+ false
+ false
+
+
+
+
+
+
+
+
diff --git a/src/Volo.Abp/Volo/Abp/Validation/AbpValidationException.cs b/src/Volo.Abp.Validation/Volo/Abp/Validation/AbpValidationException.cs
similarity index 100%
rename from src/Volo.Abp/Volo/Abp/Validation/AbpValidationException.cs
rename to src/Volo.Abp.Validation/Volo/Abp/Validation/AbpValidationException.cs
diff --git a/src/Volo.Abp.Validation/Volo/Abp/Validation/AbpValidationModule.cs b/src/Volo.Abp.Validation/Volo/Abp/Validation/AbpValidationModule.cs
new file mode 100644
index 0000000000..b49035ebb2
--- /dev/null
+++ b/src/Volo.Abp.Validation/Volo/Abp/Validation/AbpValidationModule.cs
@@ -0,0 +1,13 @@
+using Microsoft.Extensions.DependencyInjection;
+using Volo.Abp.Modularity;
+
+namespace Volo.Abp.Validation
+{
+ public class AbpValidationModule : AbpModule
+ {
+ public override void ConfigureServices(IServiceCollection services)
+ {
+ services.AddAssemblyOf();
+ }
+ }
+}
diff --git a/src/Volo.Abp/Volo/Abp/Validation/AbpValidationResult.cs b/src/Volo.Abp.Validation/Volo/Abp/Validation/AbpValidationResult.cs
similarity index 100%
rename from src/Volo.Abp/Volo/Abp/Validation/AbpValidationResult.cs
rename to src/Volo.Abp.Validation/Volo/Abp/Validation/AbpValidationResult.cs
diff --git a/src/Volo.Abp/Volo/Abp/Validation/DataAnnotationValidator.cs b/src/Volo.Abp.Validation/Volo/Abp/Validation/DataAnnotationValidator.cs
similarity index 100%
rename from src/Volo.Abp/Volo/Abp/Validation/DataAnnotationValidator.cs
rename to src/Volo.Abp.Validation/Volo/Abp/Validation/DataAnnotationValidator.cs
diff --git a/src/Volo.Abp/Volo/Abp/Validation/DisableValidationAttribute.cs b/src/Volo.Abp.Validation/Volo/Abp/Validation/DisableValidationAttribute.cs
similarity index 100%
rename from src/Volo.Abp/Volo/Abp/Validation/DisableValidationAttribute.cs
rename to src/Volo.Abp.Validation/Volo/Abp/Validation/DisableValidationAttribute.cs
diff --git a/src/Volo.Abp/Volo/Abp/Validation/EnableValidationAttribute.cs b/src/Volo.Abp.Validation/Volo/Abp/Validation/EnableValidationAttribute.cs
similarity index 100%
rename from src/Volo.Abp/Volo/Abp/Validation/EnableValidationAttribute.cs
rename to src/Volo.Abp.Validation/Volo/Abp/Validation/EnableValidationAttribute.cs
diff --git a/src/Volo.Abp/Volo/Abp/Validation/IAbpValidationResult.cs b/src/Volo.Abp.Validation/Volo/Abp/Validation/IAbpValidationResult.cs
similarity index 100%
rename from src/Volo.Abp/Volo/Abp/Validation/IAbpValidationResult.cs
rename to src/Volo.Abp.Validation/Volo/Abp/Validation/IAbpValidationResult.cs
diff --git a/src/Volo.Abp/Volo/Abp/Validation/IDataAnnotationValidator.cs b/src/Volo.Abp.Validation/Volo/Abp/Validation/IDataAnnotationValidator.cs
similarity index 100%
rename from src/Volo.Abp/Volo/Abp/Validation/IDataAnnotationValidator.cs
rename to src/Volo.Abp.Validation/Volo/Abp/Validation/IDataAnnotationValidator.cs
diff --git a/src/Volo.Abp/Volo/Abp/Validation/IHasValidationErrors.cs b/src/Volo.Abp.Validation/Volo/Abp/Validation/IHasValidationErrors.cs
similarity index 100%
rename from src/Volo.Abp/Volo/Abp/Validation/IHasValidationErrors.cs
rename to src/Volo.Abp.Validation/Volo/Abp/Validation/IHasValidationErrors.cs
diff --git a/src/Volo.Abp/Volo/Abp/Validation/IMethodInvocationValidator.cs b/src/Volo.Abp.Validation/Volo/Abp/Validation/IMethodInvocationValidator.cs
similarity index 100%
rename from src/Volo.Abp/Volo/Abp/Validation/IMethodInvocationValidator.cs
rename to src/Volo.Abp.Validation/Volo/Abp/Validation/IMethodInvocationValidator.cs
diff --git a/src/Volo.Abp/Volo/Abp/Validation/IObjectValidator.cs b/src/Volo.Abp.Validation/Volo/Abp/Validation/IObjectValidator.cs
similarity index 100%
rename from src/Volo.Abp/Volo/Abp/Validation/IObjectValidator.cs
rename to src/Volo.Abp.Validation/Volo/Abp/Validation/IObjectValidator.cs
diff --git a/src/Volo.Abp/Volo/Abp/Validation/IValidationConfiguration.cs b/src/Volo.Abp.Validation/Volo/Abp/Validation/IValidationConfiguration.cs
similarity index 100%
rename from src/Volo.Abp/Volo/Abp/Validation/IValidationConfiguration.cs
rename to src/Volo.Abp.Validation/Volo/Abp/Validation/IValidationConfiguration.cs
diff --git a/src/Volo.Abp/Volo/Abp/Validation/MethodInvocationValidationContext.cs b/src/Volo.Abp.Validation/Volo/Abp/Validation/MethodInvocationValidationContext.cs
similarity index 100%
rename from src/Volo.Abp/Volo/Abp/Validation/MethodInvocationValidationContext.cs
rename to src/Volo.Abp.Validation/Volo/Abp/Validation/MethodInvocationValidationContext.cs
diff --git a/src/Volo.Abp/Volo/Abp/Validation/MethodInvocationValidator.cs b/src/Volo.Abp.Validation/Volo/Abp/Validation/MethodInvocationValidator.cs
similarity index 100%
rename from src/Volo.Abp/Volo/Abp/Validation/MethodInvocationValidator.cs
rename to src/Volo.Abp.Validation/Volo/Abp/Validation/MethodInvocationValidator.cs
diff --git a/src/Volo.Abp/Volo/Abp/Validation/ObjectValidator.cs b/src/Volo.Abp.Validation/Volo/Abp/Validation/ObjectValidator.cs
similarity index 100%
rename from src/Volo.Abp/Volo/Abp/Validation/ObjectValidator.cs
rename to src/Volo.Abp.Validation/Volo/Abp/Validation/ObjectValidator.cs
diff --git a/src/Volo.Abp/Volo/Abp/Validation/ValidationInterceptor.cs b/src/Volo.Abp.Validation/Volo/Abp/Validation/ValidationInterceptor.cs
similarity index 100%
rename from src/Volo.Abp/Volo/Abp/Validation/ValidationInterceptor.cs
rename to src/Volo.Abp.Validation/Volo/Abp/Validation/ValidationInterceptor.cs
diff --git a/src/Volo.Abp/Volo.Abp.csproj b/src/Volo.Abp/Volo.Abp.csproj
index a23c9396ad..daf16d06a2 100644
--- a/src/Volo.Abp/Volo.Abp.csproj
+++ b/src/Volo.Abp/Volo.Abp.csproj
@@ -20,6 +20,7 @@
+
diff --git a/src/Volo.Abp/Volo/Abp/AbpCommonModule.cs b/src/Volo.Abp/Volo/Abp/AbpCommonModule.cs
index 07ac454cb9..509f19aa0e 100644
--- a/src/Volo.Abp/Volo/Abp/AbpCommonModule.cs
+++ b/src/Volo.Abp/Volo/Abp/AbpCommonModule.cs
@@ -1,5 +1,6 @@
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.ApiVersioning;
+using Volo.Abp.Application.Services;
using Volo.Abp.Data;
using Volo.Abp.Localization;
using Volo.Abp.Modularity;
@@ -18,6 +19,7 @@ namespace Volo.Abp
[DependsOn(typeof(AbpDataModule))]
[DependsOn(typeof(AbpMultiTenancyAbstractionsModule))]
[DependsOn(typeof(AbpObjectMappingModule))]
+ [DependsOn(typeof(AbpValidationModule))]
public class AbpCommonModule : AbpModule
{
public override void PreConfigureServices(IServiceCollection services)
diff --git a/src/Volo.Abp/Volo/Abp/Validation/ValidationInterceptorRegistrar.cs b/src/Volo.Abp/Volo/Abp/Application/Services/ValidationInterceptorRegistrar.cs
similarity index 81%
rename from src/Volo.Abp/Volo/Abp/Validation/ValidationInterceptorRegistrar.cs
rename to src/Volo.Abp/Volo/Abp/Application/Services/ValidationInterceptorRegistrar.cs
index 85e6c07bb6..ea5f62b62f 100644
--- a/src/Volo.Abp/Volo/Abp/Validation/ValidationInterceptorRegistrar.cs
+++ b/src/Volo.Abp/Volo/Abp/Application/Services/ValidationInterceptorRegistrar.cs
@@ -1,7 +1,7 @@
-using Volo.Abp.Application.Services;
-using Volo.Abp.DependencyInjection;
+using Volo.Abp.DependencyInjection;
+using Volo.Abp.Validation;
-namespace Volo.Abp.Validation
+namespace Volo.Abp.Application.Services
{
public static class ValidationInterceptorRegistrar
{
diff --git a/src/Volo.Abp/Volo/Abp/DependencyInjection/CommonDbContextRegistrationOptions.cs b/src/Volo.Abp/Volo/Abp/DependencyInjection/CommonDbContextRegistrationOptions.cs
index 7711e5039e..1e7943591b 100644
--- a/src/Volo.Abp/Volo/Abp/DependencyInjection/CommonDbContextRegistrationOptions.cs
+++ b/src/Volo.Abp/Volo/Abp/DependencyInjection/CommonDbContextRegistrationOptions.cs
@@ -5,7 +5,7 @@ using Volo.Abp.Domain.Entities;
using Volo.Abp.Domain.Repositories;
using Volo.Abp.Reflection;
-namespace Volo.Abp.Data
+namespace Volo.Abp.DependencyInjection
{
///
/// This is a base class for dbcoUse derived
diff --git a/src/Volo.Abp/Volo/Abp/DependencyInjection/ICommonDbContextRegistrationOptionsBuilder.cs b/src/Volo.Abp/Volo/Abp/DependencyInjection/ICommonDbContextRegistrationOptionsBuilder.cs
index 6afa05a700..5528ca8b19 100644
--- a/src/Volo.Abp/Volo/Abp/DependencyInjection/ICommonDbContextRegistrationOptionsBuilder.cs
+++ b/src/Volo.Abp/Volo/Abp/DependencyInjection/ICommonDbContextRegistrationOptionsBuilder.cs
@@ -1,6 +1,6 @@
using System;
-namespace Volo.Abp.Data
+namespace Volo.Abp.DependencyInjection
{
public interface ICommonDbContextRegistrationOptionsBuilder
{
diff --git a/src/Volo.Abp/Volo/Abp/Domain/Repositories/RepositoryRegistrarBase.cs b/src/Volo.Abp/Volo/Abp/Domain/Repositories/RepositoryRegistrarBase.cs
index cde8d48164..6c2edc1f18 100644
--- a/src/Volo.Abp/Volo/Abp/Domain/Repositories/RepositoryRegistrarBase.cs
+++ b/src/Volo.Abp/Volo/Abp/Domain/Repositories/RepositoryRegistrarBase.cs
@@ -2,6 +2,7 @@ using System;
using System.Collections.Generic;
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.Data;
+using Volo.Abp.DependencyInjection;
using Volo.Abp.Domain.Entities;
using Volo.Abp.Reflection;
diff --git a/test/Volo.Abp.Tests/Volo/Abp/Domain/Repositories/RepositoryRegistration_Tests.cs b/test/Volo.Abp.Tests/Volo/Abp/Domain/Repositories/RepositoryRegistration_Tests.cs
index c24b2141a8..88109c9670 100644
--- a/test/Volo.Abp.Tests/Volo/Abp/Domain/Repositories/RepositoryRegistration_Tests.cs
+++ b/test/Volo.Abp.Tests/Volo/Abp/Domain/Repositories/RepositoryRegistration_Tests.cs
@@ -2,6 +2,7 @@
using System.Collections.Generic;
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.Data;
+using Volo.Abp.DependencyInjection;
using Volo.Abp.Domain.Entities;
using Xunit;
diff --git a/test/Volo.Abp.Validation.Tests/Volo.Abp.Validation.Tests.csproj b/test/Volo.Abp.Validation.Tests/Volo.Abp.Validation.Tests.csproj
new file mode 100644
index 0000000000..15e3cd8e67
--- /dev/null
+++ b/test/Volo.Abp.Validation.Tests/Volo.Abp.Validation.Tests.csproj
@@ -0,0 +1,25 @@
+
+
+
+ netcoreapp2.0
+ Volo.Abp.Validation.Tests
+ Volo.Abp.Validation.Tests
+ true
+ false
+ false
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/test/Volo.Abp.Tests/Volo/Abp/Validation/ApplicationService_Validation_Tests.cs b/test/Volo.Abp.Validation.Tests/Volo/Abp/Validation/ApplicationService_Validation_Tests.cs
similarity index 98%
rename from test/Volo.Abp.Tests/Volo/Abp/Validation/ApplicationService_Validation_Tests.cs
rename to test/Volo.Abp.Validation.Tests/Volo/Abp/Validation/ApplicationService_Validation_Tests.cs
index 281e207298..c2e0f4715c 100644
--- a/test/Volo.Abp.Tests/Volo/Abp/Validation/ApplicationService_Validation_Tests.cs
+++ b/test/Volo.Abp.Validation.Tests/Volo/Abp/Validation/ApplicationService_Validation_Tests.cs
@@ -146,7 +146,9 @@ namespace Volo.Abp.Validation
_myAppService.MyMethodWithNullableEnum(null);
}
+ [DependsOn(typeof(AbpCommonModule))] //TODO: Do not depend on AbpCommonModule for this test project.
[DependsOn(typeof(AbpAutofacModule))]
+ [DependsOn(typeof(AbpValidationModule))]
public class ValidationTestModule : AbpModule
{
public override void ConfigureServices(IServiceCollection services)