From 7cd274cd36ed5e7eae640389a7695706810e68d9 Mon Sep 17 00:00:00 2001 From: maliming Date: Wed, 3 Jul 2024 13:28:08 +0800 Subject: [PATCH] Make the `add-module` command to compatible with `Blazor webapp` project. Resolve #20144 --- .../Abp/Cli/ProjectModification/BlazorProjectTypeChecker.cs | 3 ++- .../Volo/Abp/Cli/ProjectModification/ProjectFinder.cs | 4 ++-- .../Volo/Abp/Cli/ProjectModification/SolutionModuleAdder.cs | 5 +++-- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/BlazorProjectTypeChecker.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/BlazorProjectTypeChecker.cs index aeee12842f..08029e47e3 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/BlazorProjectTypeChecker.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/BlazorProjectTypeChecker.cs @@ -8,6 +8,7 @@ public static class BlazorProjectTypeChecker { var blazorProjectCsprojContent = File.ReadAllText(blazorProjectPath); - return !blazorProjectCsprojContent.Contains("Microsoft.NET.Sdk.BlazorWebAssembly"); + return !blazorProjectCsprojContent.Contains("Microsoft.NET.Sdk.BlazorWebAssembly") && + blazorProjectCsprojContent.Contains("Volo.Abp.AspNetCore.Components.Server"); } } diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/ProjectFinder.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/ProjectFinder.cs index 45df2a870f..6b772f4323 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/ProjectFinder.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/ProjectFinder.cs @@ -49,10 +49,10 @@ public static class ProjectFinder FindProjectEndsWith(projectFiles, assemblyNames, ".HttpApi.Host") ?? FindProjectEndsWith(projectFiles, assemblyNames, ".Web"); case NuGetPackageTarget.Blazor: - return FindProjectEndsWith(projectFiles, assemblyNames, ".Blazor") + return FindProjectEndsWith(projectFiles, assemblyNames, ".Blazor.Client") ?? FindProjectEndsWith(projectFiles, assemblyNames, ".MauiBlazor");; case NuGetPackageTarget.BlazorWebAssembly: - var BlazorWebAssemblyTargetProject = FindProjectEndsWith(projectFiles, assemblyNames, ".Blazor"); + var BlazorWebAssemblyTargetProject = FindProjectEndsWith(projectFiles, assemblyNames, ".Blazor.Client"); return BlazorWebAssemblyTargetProject != null && !BlazorProjectTypeChecker.IsBlazorServerProject(BlazorWebAssemblyTargetProject) ? BlazorWebAssemblyTargetProject diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/SolutionModuleAdder.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/SolutionModuleAdder.cs index d999601d5a..65f8d2718c 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/SolutionModuleAdder.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/SolutionModuleAdder.cs @@ -188,7 +188,7 @@ public class SolutionModuleAdder : ITransientDependency } await PublishEventAsync(6, "Configuring angular projects..."); - + var moduleName = module.Name.Split('.').Last(); ConfigureAngularPackagesForAppModuleFile(angularPath, angularPackages, moduleName); @@ -301,7 +301,8 @@ public class SolutionModuleAdder : ITransientDependency private async Task RunBundleForBlazorAsync(string[] projectFiles, ModuleWithMastersInfo module) { - var blazorProject = projectFiles.FirstOrDefault(f => f.EndsWith(".Blazor.csproj")); + var blazorProject = projectFiles.FirstOrDefault(f => f.EndsWith(".Blazor.Client.csproj")) ?? + projectFiles.FirstOrDefault(f => f.EndsWith(".Blazor.csproj")); if (blazorProject == null || !module.NugetPackages.Any(np => np.Target == NuGetPackageTarget.Blazor)) {