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