Terminal logger é padrão
O registrador de terminal agora está habilitado por padrão para todas as sessões de terminal "interativas". O registrador de terminal formata a saída do console para compilações de forma diferente do registrador de console. Para obter mais informações sobre o registrador de terminais, consulte as opções 'dotnet build', especificamente a --tl
opção.
Comportamento anterior
dotnet build
e outros comandos da CLI relacionados à compilação usavam o registrador de console MSBuild de verbosidade 'mínima' por padrão para compilações orientadas pelo usuário.
Novo comportamento
Se o terminal suportar vários recursos de layout e colorização, e outros comandos de CLI relacionados à compilação, dotnet build
use o registrador de terminal por padrão para compilações acionadas pelo usuário. Se o comando fizer parte de um shell script ou tiver tido entrada ou saída redirecionada de alguma forma, ou se o terminal não suportar alguns dos recursos de layout aprimorados que o registrador de terminal tem, o registrador de terminal não será usado.
Versão introduzida
.NET 9 Visualização 1
Tipo de mudança de rutura
Esta mudança é uma mudança comportamental.
Razão para a alteração
A saída do registrador de terminal sobre o progresso de uma compilação é mais densa e acionável do que a saída do registrador de console. A equipe do MSBuild quer incentivar o uso do registrador de terminal no início do ciclo de lançamento do .NET 9 para que haja tempo para coletar comentários sobre a qualidade e a funcionalidade do recurso.
Ação recomendada
Se você precisar reverter para o registrador de console, você pode desativar o registrador de terminal pode ser desativado das seguintes maneiras:
- Para desativar o registrador de terminal para um comando específico, especifique
--tl:off
na linha de comando ou por meio de um arquivo de resposta do MSBuild. - Para desativar o registrador de terminal para todos os comandos, defina a
MSBUILDTERMINALLOGGER
variável de ambiente comooff
.
APIs afetadas
N/A