diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/TemplateInfoProvider.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/TemplateInfoProvider.cs
index 4540aecbdd..def9cf973b 100644
--- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/TemplateInfoProvider.cs
+++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/TemplateInfoProvider.cs
@@ -2,6 +2,7 @@
using Volo.Abp.Cli.ProjectBuilding.Building;
using Volo.Abp.Cli.ProjectBuilding.Templates;
using Volo.Abp.Cli.ProjectBuilding.Templates.Mvc;
+using Volo.Abp.Cli.ProjectBuilding.Templates.MvcModule;
using Volo.Abp.DependencyInjection;
namespace Volo.Abp.Cli.ProjectBuilding
diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/MvcModule/MvcModuleTemplate.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/MvcModule/MvcModuleTemplate.cs
new file mode 100644
index 0000000000..17eef6cea9
--- /dev/null
+++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/MvcModule/MvcModuleTemplate.cs
@@ -0,0 +1,49 @@
+using System.Collections.Generic;
+using Volo.Abp.Cli.ProjectBuilding.Building;
+using Volo.Abp.Cli.ProjectBuilding.Building.Steps;
+
+namespace Volo.Abp.Cli.ProjectBuilding.Templates.MvcModule
+{
+ public class MvcModuleTemplate : TemplateInfo
+ {
+ ///
+ /// "mvc-module".
+ ///
+ public const string TemplateName = "mvc-module";
+
+ public MvcModuleTemplate()
+ : base(TemplateName)
+ {
+
+ }
+
+ public override IEnumerable GetCustomSteps(ProjectBuildContext context)
+ {
+ var steps = new List();
+
+ DeleteUnrelatedProjects(context, steps);
+
+ return steps;
+ }
+
+ private void DeleteUnrelatedProjects(ProjectBuildContext context, List steps)
+ {
+ if (context.BuildArgs.ExtraProperties.ContainsKey("no-ui"))
+ {
+ steps.Add(new RemoveProjectFromSolutionStep(
+ "MyCompanyName.MyProjectName.Web"
+ ));
+
+ steps.Add(new RemoveProjectFromSolutionStep(
+ "MyCompanyName.MyProjectName.Web.Host",
+ projectFolderPath: "/host/MyCompanyName.MyProjectName.Web.Host"
+ ));
+
+ steps.Add(new RemoveProjectFromSolutionStep(
+ "MyCompanyName.MyProjectName.Web",
+ projectFolderPath: "/host/MyCompanyName.MyProjectName.Web.Unified"
+ ));
+ }
+ }
+ }
+}
diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/MvcModuleTemplate.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/MvcModuleTemplate.cs
deleted file mode 100644
index 1f1f5b3c39..0000000000
--- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/MvcModuleTemplate.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-using Volo.Abp.Cli.ProjectBuilding.Building;
-
-namespace Volo.Abp.Cli.ProjectBuilding.Templates
-{
- public class MvcModuleTemplate : TemplateInfo
- {
- ///
- /// "mvc-module".
- ///
- public const string TemplateName = "mvc-module";
-
- public MvcModuleTemplate()
- : base(TemplateName)
- {
-
- }
- }
-}
diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/ServiceTemplate.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/ServiceTemplate.cs
deleted file mode 100644
index 425029982c..0000000000
--- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/ServiceTemplate.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-using Volo.Abp.Cli.ProjectBuilding.Building;
-
-namespace Volo.Abp.Cli.ProjectBuilding.Templates
-{
- public class ServiceTemplate : TemplateInfo
- {
- ///
- /// "service".
- ///
- public const string TemplateName = "service";
-
- public ServiceTemplate()
- : base(TemplateName)
- {
-
- }
- }
-}
\ No newline at end of file