O agente de terminal é o 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 terminal, consulte Opções de 'dotnet build', especificamente a opção --tl
.
Comportamento anterior
dotnet build
e outros comandos da CLI relacionados à compilação usavam o agente de console MSBuild de detalhamento 'mínimo' por padrão para compilações orientadas pelo usuário.
Novo comportamento
Se o terminal der suporte a vários recursos de layout e colorização, dotnet build
e outros comandos da CLI relacionadas ao build usarão o agente de terminal por padrão para builds disparados pelo usuário. Se o comando fizer parte de um script de shell ou tiver tido entrada ou saída redirecionada de alguma forma ou se o terminal não oferecer suporte a alguns dos recursos de layout aprimorados que o agente do terminal tem, o agente do terminal não será usado.
Versão introduzida
Versão prévia 1 do .NET 9
Tipo de alteração interruptiva
Esta é uma alteração comportamental.
Motivo da alteração
A saída do agente de terminal sobre o progresso de um build é mais densa e acionável em informações do que a saída do agente do console. A equipe do MSBuild deseja incentivar o uso do agente 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 agente do console, poderá desabilitar o agente de terminal pode ser desabilitado das seguintes maneiras:
- Para desabilitar o agente 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 desabilitar o agente de terminal para todos os comandos, defina a variável de ambiente
MSBUILDTERMINALLOGGER
comooff
.
APIs afetadas
N/D