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