Команды dotnet CLI регистрируют данные, не относящиеся к командам, в stderr

Начиная с .NET 10, часть вывода CLI, не являющаяся ключевой для выполняемой команды, выводится в dotnet вместо stderr.

Представленная версия

.NET 10

Предыдущее поведение

Ранее сообщения первого запуска для dotnet, выдавались в stdout.

Новое поведение

Начиная с .NET 10, сообщения первого запуска для CLI dotnet отправляются в stderr. (В будущем больше сообщений будет проходить аналогичное изменение.)

Тип разрушающего изменения

Это изменение поведения.

Причина изменения

Сведения, записанные в stdout, которые не связаны напрямую с вызываемой командой, затрудняют использование команд в сценариях или неинтерактивных условиях. Если дополнительные выходные данные, такие как диагностика, подробные сообщения и случайные уведомления, перемещаются в stderr, stdout остается чистым для разбора или другой интерпретации.

Для большинства пользователей, отличных от PowerShell, это изменение не должно требовать никаких действий.

Для пользователей PowerShell рекомендуется использовать по крайней мере PowerShell версии 7.2, где при перенаправлении на stderr переменная PowerShell $Error не устанавливается и PowerShell не воспринимает предыдущую команду как неудавшуюся.

Затронутые API

Нет.