共用方式為


dotnet CLI 命令會將非命令相關資料記錄至 stderr

從 .NET 10 開始,一些非命令核心的 CLI 命令輸出會發送到dotnet,而不是stderr

推出的版本

.NET 10

先前的行為

先前,CLI 的 dotnet 首次執行訊息會發出至 stdout

新行為

從 .NET 10 開始,CLI 的 dotnet 首次執行訊息會發出至 stderr。 (未來,更多訊息將經歷類似的變更。

破壞性變更的類型

此變更為行為變更

變更的原因

寫入 stdout 的資訊與所叫用的命令沒有直接關係,會禁止在腳本或非互動式環境中使用命令。 當診斷、詳細訊息和附帶通知等非主要輸出移至 stderrstdout ,會保持乾淨以進行剖析或其他解譯。

對於大部分的非 PowerShell 使用者,此變更應該不需要任何動作。

針對 PowerShell 使用者,我們建議至少使用 PowerShell 版本 7.2,因為在這個版本中,重新導向至 stderr 不會設定 PowerShell 的 $Error 變數,從而避免 PowerShell 誤判先前命令執行失敗。

受影響的 API

沒有。