diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Files/FileEntryExtensions.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Files/FileEntryExtensions.cs
index 8543ffb1ac..b5edcd5d54 100644
--- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Files/FileEntryExtensions.cs
+++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Files/FileEntryExtensions.cs
@@ -6,6 +6,8 @@ namespace Volo.Abp.Cli.ProjectBuilding.Files;
public static class FileEntryExtensions
{
+ private static int _maximumRecursionCount = 20;
+
public static FileEntry ReplaceText(this FileEntry file, string oldText, string newText)
{
file.NormalizeLineEndings();
@@ -20,7 +22,7 @@ public static class FileEntryExtensions
public static void RemoveTemplateCodeMarkers(this FileEntry file)
{
- if (!file.Content.Contains(""))
+ if (!file.Content.Contains("") )
{
return;
}
@@ -49,9 +51,9 @@ public static class FileEntryExtensions
file.SetLines(newLines);
}
- private static void RemoveMarkedTemplateCode(this FileEntry file, List symbols)
+ private static void RemoveMarkedTemplateCode(this FileEntry file, List symbols, int recursionCount = 0)
{
- if (!file.Content.Contains(""))
+ if (!file.Content.Contains(" _maximumRecursionCount)
{
return;
}
@@ -97,9 +99,25 @@ public static class FileEntryExtensions
continue;
}
- while (i < lines.Length && !lines[i].Contains(""))
+ var innerConditionCount = 0;
+
+ while (i < lines.Length)
{
- ++i;
+ i++;
+
+ if (lines[i].Contains(""))
+ {
+ if (innerConditionCount < 1)
+ {
+ break;
+ }
+
+ innerConditionCount--;
+ }
}
if (lines[i+1].Contains("