[release/9.0.1xx] Using ConsoleLogger to prevent unexpected behavior #45015
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes dotnet/msbuild#10998
Summary
dotnet run
directly creates an instance ofTerminalLogger
, bypassing all checks. This can lead to situations where ANSI escape sequences are emitted to the terminal, even if the terminal does not support them. These escape sequences are also emitted when the standard output is redirected, which can break a CI build that relies on the command's output.Changes Made
Minimal hotfix: The
ConsoleLogger
is used instead ofTerminalLogger
for this SDK version.Customer Impact
Some customers reported unexpected behavior of
dotnet run
command and CI builds failures.Regression?
Yes.
Testing
Manual testing with locally updated SDK.
Notes
There is a proper fix created for 9.0.2xx. This change shouldn't flow to higher versions.