Browse Source

Fixed minor problems in the CLI.

pull/18876/head
maliming 2 years ago
parent
commit
090183ede5
No known key found for this signature in database GPG Key ID: A646B9CB645ECEA4
  1. 34
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/ProjectCreationCommandBase.cs
  2. 2
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/ChangePublicAuthPortStep.cs
  3. 55
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/ChangeThemeStep.cs
  4. 2
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/TemplateProjectBuildPipelineBuilder.cs
  5. 1
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/UiFrameworkExtensions.cs
  6. 23
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/App/AppNoLayersTemplateBase.cs
  7. 44
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/App/AppTemplateBase.cs
  8. 7
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/Maui/MauiChangePortStep.cs
  9. 2
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/Microservice/MicroserviceTemplateBase.cs
  10. 2
      templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/_Imports.razor
  11. 2
      templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/_Imports.razor
  12. 2
      templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered/appsettings.json
  13. 6
      templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Host.Client/Pages/Index.razor.cs
  14. 1
      templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Host.Client/Pages/Index.razor.css
  15. 1
      templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Host/Program.cs

34
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/ProjectCreationCommandBase.cs

@ -43,7 +43,7 @@ public abstract class ProjectCreationCommandBase
public ThemePackageAdder ThemePackageAdder { get; }
public AngularThemeConfigurer AngularThemeConfigurer { get; }
public CliVersionService CliVersionService { get; }
public ProjectCreationCommandBase(
@ -433,15 +433,14 @@ public abstract class ProjectCreationCommandBase
var isModuleTemplate = ModuleTemplateBase.IsModuleTemplate(projectArgs.TemplateName);
var isWebassembly = projectArgs.UiFramework == UiFramework.Blazor;
var message = isWebassembly || isModuleTemplate
? "Generating bundles for Blazor Wasm"
var message = isWebassembly || isModuleTemplate
? "Generating bundles for Blazor Wasm"
: "Generating bundles for MAUI Blazor";
var projectType = isWebassembly || isModuleTemplate
? BundlingConsts.WebAssembly
? BundlingConsts.WebAssembly
: BundlingConsts.MauiBlazor;
Logger.LogInformation(message + "...");
await EventBus.PublishAsync(new ProjectCreationProgressEvent
@ -451,7 +450,11 @@ public abstract class ProjectCreationCommandBase
var searchPattern = isWebassembly ? "*.Blazor.csproj" : "*.MauiBlazor.csproj";
var path = projectArgs.OutputFolder;
if (isWebassembly && Directory.GetFiles(path, "*.Blazor.Client.csproj", SearchOption.AllDirectories).Any())
{
searchPattern = "*.Blazor.Client.csproj";
}
if (isModuleTemplate)
{
path = Path.Combine(path, "host");
@ -468,7 +471,7 @@ public abstract class ProjectCreationCommandBase
await _bundlingService.BundleAsync(directory, true, projectType);
}
protected virtual bool ShouldRunBundleCommand(ProjectBuildArgs projectArgs)
{
if ((AppTemplateBase.IsAppTemplate(projectArgs.TemplateName) || AppNoLayersTemplateBase.IsAppNoLayersTemplate(projectArgs.TemplateName))
@ -666,6 +669,8 @@ public abstract class ProjectCreationCommandBase
return UiFramework.Blazor;
case "blazor-server":
return UiFramework.BlazorServer;
case "blazor-webapp":
return UiFramework.BlazorWebApp;
case "maui-blazor" when template == AppProTemplate.TemplateName:
return UiFramework.MauiBlazor;
default:
@ -761,6 +766,11 @@ public abstract class ProjectCreationCommandBase
ThemePackageAdder.AddNpmPackage(projectArgs.OutputFolder, "@abp/aspnetcore.components.server.basictheme", projectArgs.Version);
}
if (projectArgs.UiFramework is UiFramework.BlazorWebApp)
{
ThemePackageAdder.AddNpmPackage(projectArgs.OutputFolder, "@abp/aspnetcore.components.server.basictheme", projectArgs.Version);
}
if (projectArgs.UiFramework is UiFramework.Angular)
{
ThemePackageAdder.AddAngularPackage(projectArgs.OutputFolder, "@abp/ng.theme.basic", projectArgs.Version);
@ -780,6 +790,12 @@ public abstract class ProjectCreationCommandBase
ThemePackageAdder.AddNpmPackage(projectArgs.OutputFolder, "@volo/abp.aspnetcore.mvc.ui.theme.lepton", projectArgs.Version);
}
if (projectArgs.UiFramework is UiFramework.BlazorWebApp)
{
ThemePackageAdder.AddNpmPackage(projectArgs.OutputFolder, "@volo/abp.aspnetcore.components.server.leptontheme", projectArgs.Version);
ThemePackageAdder.AddNpmPackage(projectArgs.OutputFolder, "@volo/abp.aspnetcore.mvc.ui.theme.lepton", projectArgs.Version);
}
if (projectArgs.UiFramework is UiFramework.Angular)
{
ThemePackageAdder.AddAngularPackage(projectArgs.OutputFolder, "@volo/abp.ng.theme.lepton", projectArgs.Version);

2
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/ChangePublicAuthPortStep.cs

@ -9,7 +9,7 @@ public class ChangePublicAuthPortStep : ProjectBuildPipelineStep
var publicAppSettings = context.Files
.FirstOrDefault(f => f.Name.Contains("MyCompanyName.MyProjectName.Web.Public") && f.Name.EndsWith("appsettings.json"));
if (context.BuildArgs.UiFramework == UiFramework.BlazorServer)
if (context.BuildArgs.UiFramework == UiFramework.BlazorServer || context.BuildArgs.UiFramework == UiFramework.BlazorWebApp)
{
publicAppSettings?.SetContent(publicAppSettings.Content.Replace("localhost:44303", "localhost:44313"));
}

55
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/ChangeThemeStep.cs

@ -14,7 +14,7 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
private const string LeptonXLite = "LeptonXLite";
private const string LeptonX = "LeptonX";
private const string Lepton = "Lepton";
public override void Execute(ProjectBuildContext context)
{
if (!context.BuildArgs.Theme.HasValue)
@ -59,7 +59,7 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
ChangeThemeToLeptonForNoLayersBlazorServerProjects(context);
ChangeThemeToLeptonForMauiBlazorProjects(context);
}
private static string GetAngularPackageName(Theme theme)
{
return theme switch
@ -71,7 +71,7 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
_ => string.Empty
};
}
private static void ChangeThemeToBasicForBlazorProjects(ProjectBuildContext context, string defaultThemeName)
{
ReplacePackageReferenceWithProjectReference(
@ -80,21 +80,21 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
$"Volo.Abp.AspNetCore.Components.WebAssembly.{defaultThemeName}Theme",
@"..\..\..\..\..\modules\basic-theme\src\Volo.Abp.AspNetCore.Components.WebAssembly.BasicTheme\Volo.Abp.AspNetCore.Components.WebAssembly.BasicTheme.csproj"
);
ReplaceAllKeywords(
context,
"/MyCompanyName.MyProjectName.Blazor/MyProjectNameBlazorModule.cs",
$"{defaultThemeName}Theme.Components",
"BasicTheme.Themes.Basic"
);
ReplaceAllKeywords(
context,
"/MyCompanyName.MyProjectName.Blazor/MyProjectNameBlazorModule.cs",
defaultThemeName,
Basic
);
ReplacePackageReferenceWithProjectReference(
context,
"/MyCompanyName.MyProjectName.Host/MyCompanyName.MyProjectName.Host.csproj",
@ -105,7 +105,7 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
ReplaceAllKeywords(
context,
"/MyCompanyName.MyProjectName.Host/MyProjectNameHostModule.cs",
defaultThemeName,
defaultThemeName,
Basic
);
}
@ -116,20 +116,20 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
{
return;
}
ReplaceImportPackage(
context,
"/angular/src/app/app.module.ts",
oldPackageName,
newPackageName
);
RemoveLinesByStatement(
context,
"/angular/src/app/app.module.ts",
"SideMenuLayoutModule"
);
ReplaceAllKeywords(
context,
"/angular/src/app/app.module.ts",
@ -166,7 +166,7 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
"Volo.Abp.AspNetCore.Components.WebAssembly.LeptonXTheme",
@"..\..\..\..\..\lepton-theme\src\Volo.Abp.AspNetCore.Components.WebAssembly.LeptonTheme\Volo.Abp.AspNetCore.Components.WebAssembly.LeptonTheme.csproj"
);
ReplaceAllKeywords(
context,
"/MyCompanyName.MyProjectName.Blazor/MyProjectNameBlazorModule.cs",
@ -180,7 +180,7 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
"Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonX",
@"..\..\..\..\..\lepton-theme\src\Volo.Abp.AspNetCore.Mvc.UI.Theme.Lepton\Volo.Abp.AspNetCore.Mvc.UI.Theme.Lepton.csproj"
);
ReplaceAllKeywords(
context,
"/MyCompanyName.MyProjectName.Host/MyProjectNameHostModule.cs",
@ -239,7 +239,7 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
"Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonX",
@"..\..\..\..\..\lepton-theme\src\Volo.Abp.AspNetCore.Mvc.UI.Theme.Lepton\Volo.Abp.AspNetCore.Mvc.UI.Theme.Lepton.csproj"
);
ReplaceAllKeywords(
context,
moduleFile.Name,
@ -310,6 +310,9 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
case UiFramework.BlazorServer:
projects["Blazor.Server"] = "MyCompanyName.MyProjectName.Blazor.csproj";
break;
case UiFramework.BlazorWebApp:
projects["Blazor.WebApp"] = "MyCompanyName.MyProjectName.Blazor.csproj";
break;
}
}
@ -385,7 +388,7 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
}
file.NormalizeLineEndings();
var lines = file.GetLines();
var lineIndex = lines.FindIndex(line => line.Contains($"from '{oldImportPackage}'"));
if (lineIndex == -1)
@ -447,7 +450,7 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
file.SetLines(lines.Where(x => x != null));
}
private static void AddProjectReference(FileEntry file, string reference)
{
if (!file.Name.Contains(".csproj"))
@ -558,7 +561,7 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
{
continue;;
}
lines[i] = lines[i].Replace(oldKeyword, newKeyword);
}
@ -630,21 +633,21 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
$"Volo.Abp.AspNetCore.Mvc.UI.Theme.{defaultThemeName}",
@"..\..\..\..\..\modules\basic-theme\src\Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic\Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.csproj"
);
ReplaceAllKeywords(
context,
$"/Pages/_Host.cshtml",
$"{defaultThemeName}Theme.Components",
Basic
);
ReplaceAllKeywords(
context,
$"/MyCompanyName.MyProjectName{project.Key}/{project.Value}.cs",
defaultThemeName,
Basic + "Theme"
);
ReplaceAllKeywords(
context,
$"/Pages/_Host.cshtml",
@ -657,7 +660,7 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
private static void ChangeThemeToLeptonForBlazorServerProjects(ProjectBuildContext context)
{
var projectNames = new[] { "Blazor", "Blazor.Server.Tiered" };
foreach (var projectName in projectNames)
{
ReplacePackageReferenceWithProjectReference(
@ -673,14 +676,14 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
"Volo.Abp.AspNetCore.Components.Server.LeptonXTheme",
@"..\..\..\..\..\lepton-theme\src\Volo.Abp.AspNetCore.Components.Server.LeptonTheme\Volo.Abp.AspNetCore.Components.Server.LeptonTheme.csproj"
);
ReplaceAllKeywords(
context,
$"/MyCompanyName.MyProjectName.{projectName}/MyProjectNameBlazorModule.cs",
LeptonX,
Lepton
);
ReplaceAllKeywords(
context,
$"/Pages/_Host.cshtml",
@ -700,7 +703,7 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
{
var blazorServerProjects = new[] { "Blazor.Server", "HttpApi", "Application" };
var projectNames = new[] { "Blazor.Server", "Blazor.Server.Mongo" };
foreach (var projectName in projectNames)
{
ReplacePackageReferenceWithProjectReference(
@ -722,14 +725,14 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
$@"/MyCompanyName.MyProjectName.{projectName}/MyCompanyName.MyProjectName.{projectName}.csproj",
blazorServerProjects
);
ReplaceAllKeywords(
context,
$"/MyCompanyName.MyProjectName.{projectName}/MyProjectNameModule.cs",
LeptonX,
Lepton
);
ReplaceAllKeywords(
context,
$"/Pages/_Host.cshtml",
@ -747,7 +750,7 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
"Volo.Abp.AspNetCore.Components.MauiBlazor.LeptonXTheme",
@"..\..\..\..\..\lepton-theme\src\Volo.Abp.AspNetCore.Components.MauiBlazor.LeptonTheme\Volo.Abp.AspNetCore.Components.MauiBlazor.LeptonTheme.csproj"
);
ReplaceAllKeywords(
context,
"/MyCompanyName.MyProjectName.MauiBlazor/MainPage.xaml",

2
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/TemplateProjectBuildPipelineBuilder.cs

@ -50,7 +50,7 @@ public static class TemplateProjectBuildPipelineBuilder
pipeline.Steps.Add(new AppModuleDatabaseManagementSystemChangeStep()); // todo: move to custom steps?
}
if ((context.BuildArgs.UiFramework == UiFramework.Mvc || context.BuildArgs.UiFramework == UiFramework.Blazor || context.BuildArgs.UiFramework == UiFramework.BlazorServer)
if ((context.BuildArgs.UiFramework == UiFramework.Mvc || context.BuildArgs.UiFramework == UiFramework.Blazor || context.BuildArgs.UiFramework == UiFramework.BlazorServer || context.BuildArgs.UiFramework == UiFramework.BlazorWebApp)
&& context.BuildArgs.MobileApp == MobileApp.None && context.Template.Name != MicroserviceProTemplate.TemplateName
&& context.Template.Name != MicroserviceServiceProTemplate.TemplateName)
{

1
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/UiFrameworkExtensions.cs

@ -11,6 +11,7 @@ public static class UiFrameworkExtensions
case UiFramework.Angular: return "angular";
case UiFramework.Blazor: return "blazor";
case UiFramework.BlazorServer: return "blazor-server";
case UiFramework.BlazorWebApp: return "blazor-webapp";
case UiFramework.NotSpecified: return "NotSpecified";
default: return "NotSpecified";
}

23
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/App/AppNoLayersTemplateBase.cs

@ -22,7 +22,7 @@ public abstract class AppNoLayersTemplateBase : TemplateInfo
public override IEnumerable<ProjectBuildPipelineStep> GetCustomSteps(ProjectBuildContext context)
{
var steps = base.GetCustomSteps(context).ToList();
SwitchDatabaseProvider(context, steps);
DeleteUnrelatedProjects(context, steps);
RemoveMigrations(context, steps);
@ -89,6 +89,7 @@ public abstract class AppNoLayersTemplateBase : TemplateInfo
break;
case UiFramework.Blazor:
case UiFramework.BlazorWebApp:
context.Symbols.Add("ui:blazor");
steps.Add(new RemoveFolderStep("/angular"));
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Mvc"));
@ -130,7 +131,7 @@ public abstract class AppNoLayersTemplateBase : TemplateInfo
throw new AbpException("Unkown UI framework: " + context.BuildArgs.UiFramework);
}
}
protected void RandomizeSslPorts(ProjectBuildContext context, List<ProjectBuildPipelineStep> steps)
{
if (context.BuildArgs.ExtraProperties.ContainsKey("no-random-port"))
@ -157,7 +158,7 @@ public abstract class AppNoLayersTemplateBase : TemplateInfo
)
);
}
protected void CleanupFolderHierarchy(ProjectBuildContext context, List<ProjectBuildPipelineStep> steps)
{
if (context.BuildArgs.UiFramework != UiFramework.Angular)
@ -165,7 +166,7 @@ public abstract class AppNoLayersTemplateBase : TemplateInfo
steps.Add(new MoveFolderStep("/aspnet-core/", "/"));
}
}
protected void RemoveMigrations(ProjectBuildContext context, List<ProjectBuildPipelineStep> steps)
{
steps.Add(new RemoveFolderStep("/aspnet-core/MyCompanyName.MyProjectName/Migrations"));
@ -202,12 +203,12 @@ public abstract class AppNoLayersTemplateBase : TemplateInfo
break;
}
}
protected void RandomizeStringEncryption(ProjectBuildContext context, List<ProjectBuildPipelineStep> steps)
{
steps.Add(new RandomizeStringEncryptionStep());
}
protected static void RandomizeAuthServerPassPhrase(ProjectBuildContext context, List<ProjectBuildPipelineStep> steps)
{
steps.Add(new RandomizeAuthServerPassPhraseStep());
@ -217,7 +218,7 @@ public abstract class AppNoLayersTemplateBase : TemplateInfo
{
steps.Add(new UpdateNuGetConfigStep("/aspnet-core/NuGet.Config"));
}
protected void ChangeConnectionString(ProjectBuildContext context, List<ProjectBuildPipelineStep> steps)
{
if (context.BuildArgs.ConnectionString != null)
@ -230,7 +231,7 @@ public abstract class AppNoLayersTemplateBase : TemplateInfo
steps.Add(new ConnectionStringRenameStep());
}
}
protected void ConfigureTheme(ProjectBuildContext context, List<ProjectBuildPipelineStep> steps)
{
if (!context.BuildArgs.Theme.HasValue)
@ -258,7 +259,7 @@ public abstract class AppNoLayersTemplateBase : TemplateInfo
steps.Add(new ChangeThemeStep());
RemoveLeptonXThemePackagesFromPackageJsonFiles(steps, isProTemplate: IsPro(), uiFramework: context.BuildArgs.UiFramework);
}
private static void RemoveBlazorWasmProjects(List<ProjectBuildPipelineStep> steps)
{
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.WebAssembly.Server",
@ -269,7 +270,7 @@ public abstract class AppNoLayersTemplateBase : TemplateInfo
projectFolderPath: "/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Shared"));
steps.Add(new RemoveFolderStep("/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly"));
}
private void RemoveThemeLogoFolders(ProjectBuildContext context, List<ProjectBuildPipelineStep> steps)
{
if (context.BuildArgs.Theme != Theme.Lepton && IsPro())
@ -282,7 +283,7 @@ public abstract class AppNoLayersTemplateBase : TemplateInfo
steps.Add(new RemoveFilesStep("/wwwroot/images/logo/leptonx/"));
}
}
protected void SetDbmsSymbols(ProjectBuildContext context)
{
switch (context.BuildArgs.DatabaseManagementSystem)

44
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/App/AppTemplateBase.cs

@ -115,6 +115,26 @@ public abstract class AppTemplateBase : TemplateInfo
protected void DeleteUnrelatedProjects(ProjectBuildContext context, List<ProjectBuildPipelineStep> steps)
{
if (context.BuildArgs.UiFramework != UiFramework.Blazor)
{
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor"));
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.Client"));
}
if (context.BuildArgs.UiFramework != UiFramework.BlazorServer)
{
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.Server"));
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.Server.Tiered"));
}
if (context.BuildArgs.UiFramework != UiFramework.BlazorWebApp)
{
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.WebApp"));
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.WebApp.Client"));
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.WebApp.Tiered"));
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.Client"));
}
switch (context.BuildArgs.UiFramework)
{
case UiFramework.None:
@ -147,26 +167,6 @@ public abstract class AppTemplateBase : TemplateInfo
break;
}
if (context.BuildArgs.UiFramework != UiFramework.Blazor)
{
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor"));
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.Client"));
}
if (context.BuildArgs.UiFramework != UiFramework.BlazorServer)
{
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.Server"));
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.Server.Tiered"));
}
if (context.BuildArgs.UiFramework != UiFramework.BlazorWebApp)
{
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.WebApp"));
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.WebApp.Client"));
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.WebApp.Tiered"));
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.Client"));
}
if (context.BuildArgs.UiFramework != UiFramework.MauiBlazor)
{
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.MauiBlazor"));
@ -321,7 +321,7 @@ public abstract class AppTemplateBase : TemplateInfo
steps.Add(new RemoveDependencyFromPackageJsonFileStep(packageJsonFilePath, mvcUiPackageName));
}
if (uiFramework == UiFramework.BlazorServer)
if (uiFramework == UiFramework.BlazorServer || uiFramework == UiFramework.BlazorWebApp)
{
var blazorServerUiPackageName = isProTemplate ? "@volo/aspnetcore.components.server.leptonxtheme" : "@abp/aspnetcore.components.server.leptonxlitetheme";
var blazorServerPackageJsonFilePaths = new List<string>
@ -735,6 +735,7 @@ public abstract class AppTemplateBase : TemplateInfo
if ((context.BuildArgs.UiFramework == UiFramework.Mvc
|| context.BuildArgs.UiFramework == UiFramework.Blazor
|| context.BuildArgs.UiFramework == UiFramework.BlazorServer
|| context.BuildArgs.UiFramework == UiFramework.BlazorWebApp
|| context.BuildArgs.UiFramework == UiFramework.MauiBlazor) &&
context.BuildArgs.MobileApp == MobileApp.None)
{
@ -769,6 +770,7 @@ public abstract class AppTemplateBase : TemplateInfo
steps.Add(new MoveFileStep("/aspnet-core/etc/docker/docker-compose.Blazor.yml", "/aspnet-core/etc/docker/docker-compose.yml"));
break;
case UiFramework.BlazorServer:
case UiFramework.BlazorWebApp:
steps.Add(new RemoveFileStep("/aspnet-core/etc/docker/docker-compose.Angular.yml"));
steps.Add(new RemoveFileStep("/aspnet-core/etc/docker/docker-compose.Mvc.yml"));
steps.Add(new RemoveFileStep("/aspnet-core/etc/docker/docker-compose.Blazor.yml"));

7
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/Maui/MauiChangePortStep.cs

@ -20,7 +20,7 @@ public class MauiChangePortStep : ProjectBuildPipelineStep
}
var ports = GetPorts(context);
appsettingsFile.NormalizeLineEndings();
var lines = appsettingsFile.GetLines();
@ -43,7 +43,7 @@ public class MauiChangePortStep : ProjectBuildPipelineStep
appsettingsFile.SetLines(lines);
}
private (string AuthServerPort, string ApiHostPort) GetPorts(ProjectBuildContext context)
{
var authServerPort = string.Empty;
@ -57,6 +57,7 @@ public class MauiChangePortStep : ProjectBuildPipelineStep
authServerPort = "44305";
apiHostPort = "44305";
break;
case UiFramework.BlazorWebApp:
case UiFramework.BlazorServer:
authServerPort = "44308";
apiHostPort = "44308";
@ -78,4 +79,4 @@ public class MauiChangePortStep : ProjectBuildPipelineStep
return (authServerPort, apiHostPort);
}
}
}

2
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/Microservice/MicroserviceTemplateBase.cs

@ -68,7 +68,7 @@ public abstract class MicroserviceTemplateBase : TemplateInfo
steps.Add(new RemoveDependencyFromPackageJsonFileStep(packageJsonFilePath, mvcUiPackageName));
}
if (uiFramework == UiFramework.BlazorServer)
if (uiFramework == UiFramework.BlazorServer || uiFramework == UiFramework.BlazorWebApp)
{
var blazorServerUiPackageName = "@volo/aspnetcore.components.server.leptonxtheme";
var blazorServerPackageJsonFilePaths = new List<string>

2
templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/_Imports.razor

@ -7,7 +7,7 @@
@using Microsoft.AspNetCore.Components.Web.Virtualization
@using static Microsoft.AspNetCore.Components.Web.RenderMode
@using Microsoft.JSInterop
@using MyCompanyName.MyProjectName.Blazor.Server
@using MyCompanyName.MyProjectName
@using Blazorise
@using Blazorise.DataGrid
@using Volo.Abp.BlazoriseUI

2
templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/_Imports.razor

@ -7,7 +7,7 @@
@using Microsoft.AspNetCore.Components.Web.Virtualization
@using static Microsoft.AspNetCore.Components.Web.RenderMode
@using Microsoft.JSInterop
@using MyCompanyName.MyProjectName.Blazor.Server
@using MyCompanyName.MyProjectName
@using Blazorise
@using Blazorise.DataGrid
@using Volo.Abp.BlazoriseUI

2
templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered/appsettings.json

@ -13,7 +13,7 @@
"AuthServer": {
"Authority": "https://localhost:44301",
"RequireHttpsMetadata": true,
"ClientId": "MyProjectName_BlazorServerTiered",
"ClientId": "MyProjectName_BlazorWebAppTiered",
"ClientSecret": "1q2w3e*",
"IsContainerized": false
},

6
templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Host.Client/Pages/Index.razor.cs

@ -0,0 +1,6 @@
namespace MyCompanyName.MyProjectName.Blazor.Host.Client.Pages;
public partial class Index
{
}

1
templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Host.Client/Pages/Index.razor.css

@ -0,0 +1 @@
/* Write here your styles for the Index page */

1
templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Host/Program.cs

@ -8,6 +8,7 @@ using Volo.Abp.AspNetCore.Components.WebAssembly.WebApp;
var builder = WebApplication.CreateBuilder(args);
//https://github.com/dotnet/aspnetcore/issues/52530
builder.Services.Configure<RouteOptions>(options =>
{
options.SuppressCheckForUnhandledSecurityMetadata = true;

Loading…
Cancel
Save