From 4f512275fcaeb11e302159d851d76fdc92a381ab Mon Sep 17 00:00:00 2001 From: AR-May <67507805+AR-May@users.noreply.github.com> Date: Tue, 21 May 2024 14:21:44 +0200 Subject: [PATCH] Fix the crash. --- src/MSBuild/TerminalLogger/Terminal.cs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/MSBuild/TerminalLogger/Terminal.cs b/src/MSBuild/TerminalLogger/Terminal.cs index 91565e1f797..16651d85fb9 100644 --- a/src/MSBuild/TerminalLogger/Terminal.cs +++ b/src/MSBuild/TerminalLogger/Terminal.cs @@ -200,6 +200,15 @@ public void WriteColorLine(TerminalColor color, string text) /// public void Dispose() { - Console.OutputEncoding = _originalOutputEncoding; + try + { + Console.OutputEncoding = _originalOutputEncoding; + } + catch + { + // In some terminal emulators setting back the previous console output encoding fails. + // See https://github.com/dotnet/msbuild/issues/9662. + // We do not want to throw an exception if it happens, since it is a non-essentual failure in the logger. + } } }