diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Utils/CmdHelper.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Utils/CmdHelper.cs index 5ccd9034cd..515fd5dc25 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Utils/CmdHelper.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Utils/CmdHelper.cs @@ -1,7 +1,8 @@ -using System; +using System; using System.Diagnostics; using System.IO; using System.Runtime.InteropServices; +using System.Threading.Tasks; using Microsoft.Extensions.Options; using Volo.Abp.DependencyInjection; @@ -137,14 +138,13 @@ public class CmdHelper : ICmdHelper, ITransientDependency process.Start(); - using (var standardOutput = process.StandardOutput) - { - using (var standardError = process.StandardError) - { - output = standardOutput.ReadToEnd(); - output += standardError.ReadToEnd(); - } - } + var outputTask = process.StandardOutput.ReadToEndAsync(); + var errorTask = process.StandardError.ReadToEndAsync(); + + output = Task.WhenAll(outputTask, errorTask).GetAwaiter().GetResult() + is { Length: 2 } results + ? results[0] + results[1] + : string.Empty; process.WaitForExit();