终端记录器为默认值
终端记录器现在默认为所有“交互式”终端会话启用。 终端记录器将控制台输出的格式设置为与控制台记录器不同的生成。 有关终端记录器的详细信息,请参阅 “dotnet build”选项,特别是选项 --tl
。
旧行为
dotnet build
和其他与生成相关的 CLI 命令默认使用“最小”详细 MSBuild 控制台记录器进行用户驱动生成。
新行为
如果终端支持各种布局和着色功能,dotnet build
和其他与生成相关的 CLI 命令默认使用终端记录器进行用户触发的生成。 如果命令是 shell 脚本的一部分,或者已经以任何方式重定向了输入或输出,或者终端不支持终端记录器具有的某些增强布局功能,则不使用终端记录器。
引入的版本
.NET 9 预览版 1
中断性变更的类型
此更改为行为更改。
更改原因
有关生成进度的终端记录器输出比控制台记录器输出更密集且可操作。 MSBuild 团队希望鼓励在 .NET 9 发布周期早期使用终端记录器,以便有时间收集有关功能质量和功能的反馈。
建议的操作
如果需要还原控制台记录器,可以通过以下方式禁用终端记录器:
- 若要为特定命令禁用终端记录器,请在命令行上或通过 MSBuild 响应文件指定
--tl:off
。 - 若要为所有命令禁用终端记录器,请将
MSBUILDTERMINALLOGGER
环境变量设置为off
。
受影响的 API
不可用