Compartilhar via


Os comandos da CLI do dotnet registram em stderr dados não relacionados ao comando.

A partir do .NET 10, alguns dotnet resultados de comando da CLI que não são essenciais para o comando em execução são emitidos para stderr em vez de stdout.

Versão introduzida

.NET 10

Comportamento anterior

Anteriormente, as mensagens de primeira execução da dotnet CLI eram enviadas para stdout.

Novo comportamento

A partir do .NET 10, as mensagens da primeira execução da CLI dotnet serão emitidas para stderr. (No futuro, mais mensagens sofrerão uma alteração semelhante.)

Tipo de mudança disruptiva

Essa alteração é uma mudança comportamental.

Motivo da alteração

Informações registradas em stdout que não estão diretamente relacionadas ao comando sendo invocado dificultam o uso de comandos em cenários de script ou não interativos. Quando saídas não primárias, como diagnóstico, mensagens detalhadas e notificações incidentais são movidas para stderr, stdout permanecem limpas para análise ou outra interpretação.

Para a maioria dos usuários que não são do PowerShell, essa alteração não deve exigir nenhuma ação.

Para usuários do PowerShell, recomendamos usar pelo menos o PowerShell na versão 7.2, onde redirecionar para stderr não altera a variável $Error do PowerShell e leva o PowerShell a acreditar que o comando anterior falhou na execução.

APIs afetadas

Nenhum.