L’enregistreur d’événements terminal est utilisé par défaut
L’enregistreur d’événements de terminal est désormais activé par défaut pour toutes les sessions de terminal « interactives ». L’enregistreur d’événements de terminal met en forme la sortie de la console pour les builds différemment de l’enregistreur d’événements de console. Pour plus d’informations sur l’enregistreur d’événements de terminal, consultez les options « dotnet build », en particulier l’option --tl
.
Comportement précédent
dotnet build
et les autres commandes CLI liées à la build utilisaient l’enregistreur d’événements de la console MSBuild avec le niveau de verbosité « minimal » par défaut pour les builds pilotées par l’utilisateur.
Nouveau comportement
Si le terminal prend en charge différentes fonctionnalités de disposition et de colorisation, dotnet build
et d’autres commandes CLI liées à la génération utilisent l’enregistreur d’événements de terminal par défaut pour les builds déclenchées par l’utilisateur. Si la commande fait partie d’un script d’interpréteur de commandes ou a eu une entrée ou une sortie redirigée de quelque manière que ce soit, ou si le terminal ne prend pas en charge certaines des fonctionnalités de disposition améliorées dont dispose l’enregistreur d’événements de terminal, l’enregistreur d’événements de terminal n’est pas utilisé.
Version introduite
.NET 9 Préversion 1
Type de changement cassant
Ce changement est un changement de comportement.
Raison du changement
La sortie de l’enregistreur d’événements de terminal relative à la progression d’une build est plus dense et exploitable que la sortie de l’enregistreur d’événements de console. L’équipe MSBuild souhaite encourager l’utilisation de l’enregistreur d’événements de terminal tôt dans le cycle de publication de .NET 9, afin qu’il y ait suffisamment de temps pour recueillir des commentaires sur la qualité et les performances de la fonctionnalité.
Action recommandée
Si vous devez revenir à l’enregistreur d’événements de console, vous pouvez désactiver l’enregistreur d’événements de terminal de la manière suivante :
- Pour désactiver l’enregistreur d’événements de terminal pour une commande spécifique, spécifiez
--tl:off
sur la ligne de commande ou via un fichier réponse MSBuild. - Pour désactiver l’enregistreur d’événements de terminal pour toutes les commandes, affectez la valeur
off
à la variable d’environnementMSBUILDTERMINALLOGGER
.
API affectées
N/A