diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Args/CommandLineArgumentParser.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Args/CommandLineArgumentParser.cs index 1dd29e5df7..52ddfafae5 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Args/CommandLineArgumentParser.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Args/CommandLineArgumentParser.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; +using Volo.Abp.Cli.Utils; using Volo.Abp.DependencyInjection; namespace Volo.Abp.Cli.Args @@ -40,6 +41,7 @@ namespace Volo.Abp.Cli.Args if (!argumentList.Any()) { + target = NamespaceHelper.NormalizeNamespace(target); return new CommandLineArgs(command, target); } diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Utils/NamespaceHelper.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Utils/NamespaceHelper.cs new file mode 100644 index 0000000000..9001cd51e3 --- /dev/null +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Utils/NamespaceHelper.cs @@ -0,0 +1,21 @@ +using System.Text.RegularExpressions; +using JetBrains.Annotations; + +namespace Volo.Abp.Cli.Utils +{ + public static class NamespaceHelper + { + public static string NormalizeNamespace([CanBeNull] string value) + { + if (string.IsNullOrEmpty(value)) + { + return value; + } + + value = Regex.Replace(value, @"(^\s+|\s+$)", ""); + value = Regex.Replace(value, @"(((?<=\.)|^)((?=\d)|\.)|[^\w\.])|(\.$)", "_"); + + return value; + } + } +} \ No newline at end of file