Fixes writing unwanted characters to console when TerminalLogger is created directly #10678
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 #10579
Summary
Command
dotnet run
createsTerminalLogger
instance and bypasses code that enables VIRTUAL_TERMINAL_PROCESSING on Windows. This can cause rendering of unwanted VT100 control codes in the console.Customer Impact
Customer see "weird" characters on terminal that doesn't have enabled VT100 support by default - mostly conhost. Reproduces in
dotnet new console && dotnet run
scenario.Regression?
Yes, in RC2 from enhanced console output in
dotnet run
in dotnet/sdk#42240.Testing
Manual testing. Before and after the fix:
Risk
Low. The same logic is used when MSBuild is started via entry point.