'dotnet watch' registra para stderr em vez de stdout

A partir do .NET 10, dotnet watch emite suas mensagens de log internas para o canal stderr em vez de stdout. Essa alteração faz parte de uma tendência geral para comandos dotnet da CLI que não ocultam o stdout canal. Esse canal geralmente é reservado para semântica especial ao executar determinados tipos de aplicativos, como servidores LSP ou MCP.

Versão introduzida

.NET 10

Comportamento anterior

Anteriormente, dotnet watch emitia mensagens de log para stdout.

Novo comportamento

A partir do .NET 10, dotnet watch emite mensagens de log para stderr.

Tipo de mudança disruptiva

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

Motivo da alteração

Essa alteração faz parte de uma tendência geral para comandos dotnet da CLI que não ocultam o stdout canal, que geralmente é reservado ou considerado com semântica especial ao executar determinados tipos de aplicativos, como servidores LSP ou MCP. Em geral, a CLI do .NET não deve interferir no funcionamento dos seus aplicativos.

A maioria dos usuários não deve precisar tomar nenhuma ação. Se você precisar das dotnet watch mensagens em stdout, poderá redirecionar o stderr stream para stdout. Por exemplo, use 2>&1 para redirecionar o 2 descritor de arquivo para stderr o 1 descritor de arquivo para stdout.

APIs afetadas

Nenhum.