Improve error reporting for process failures

Captures and displays standard error output when 'dotnet pack' or 'dotnet nuget push' commands fail, providing more detailed error information to the user.
This commit is contained in:
qwsdcvghyu89
2025-09-27 16:15:30 +10:00
parent c6570c1e2c
commit 093da5d0f3
+6 -1
View File
@@ -248,7 +248,8 @@ public static class Program {
e.ToString().EscapeMarkup()));
}
};
string processError = "";
var exitCode = AnsiConsole.Status()
.Spinner(Spinner.Known.Dots)
.Start<int>("Creating package with 'dotnet pack' ", ctx => {
@@ -261,10 +262,12 @@ public static class Program {
RedirectStandardError = !Verbose
});
p?.WaitForExit();
processError = p?.StandardError?.ReadToEnd() ?? "";
return p?.ExitCode ?? -1;
});
if (exitCode != 0) {
ShowError(processError.EscapeMarkup());
ShowError(Exceptions.dotnet_pack_failure.EscapeMarkup(), exitCode);
return;
}
@@ -420,7 +423,9 @@ public static class Program {
task.Increment(size / 2);
if (p != null)
await p.WaitForExitAsync(ct);
processError += p?.StandardError?.ReadToEnd() ?? "";
if (p?.ExitCode != 0) {
ShowError(processError.EscapeMarkup());
ShowError(Exceptions.dotnet_nuget_push_failure, p.ExitCode);
}
task.Increment(size / 2);