Nouveautés de MSBuild 17
Cet article décrit les mises à jour significatives dans MSBuild 17.0. Pour obtenir les notes de publication détaillées pour chaque version, consultez versions MSBuild.
MSBuild 17.0 fourni avec Visual Studio 2022 et .NET 6.0.
Chemin modifié
MSBuild est installé dans le dossier \Current sous chaque version de Visual Studio, et les exécutables se trouvent dans le sous-dossier \Bin. Par exemple, le chemin d’accès à MSBuild.exe installé avec Visual Studio 2022 Community est C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\MSBuild.exe Vous pouvez également utiliser le module PowerShell suivant pour localiser MSBuild : vssetup.powershell.
Propriétés modifiées
Les propriétés MSBuild suivantes ont été mises à jour en raison du nouveau numéro de version.
MSBuildToolsVersion
pour cette version des outils reste « Actuel ». La version de l’assembly est la même que dans Visual Studio 2017 et Visual Studio 2019, qui est 15.1.0.0.VisualStudioVersion
pour cette version des outils est « 17.0 »
64 bits
MSBuild.exe avait déjà des versions 32 bits et 64 bits, mais maintenant, la version 64 bits est la version par défaut. Visual Studio 2022 utilise la version 64 bits de MSBuild pour toutes les builds. La version 32 bits est toujours disponible, mais nous vous recommandons de basculer toutes les builds vers la version 64 bits.
Pour les propriétaires de tâches, cela signifie que lorsque MSBuild charge votre tâche, elle tente de la charger dans un processus 64 bits. Nous vous recommandons de mettre à jour vos tâches pour qu’elles s’exécutent dans un processus 64 bits, mais pour la compatibilité, vous pouvez indiquer à MSBuild que votre tâche s’exécute en tant que 32 bits uniquement dans leur UsingTask.
Améliorations des performances
MSBuild est plus rapide ! Le focus de cette version a été d’améliorer les performances pour de nombreux scénarios courants. MSBuild 17.0 peut créer des projets plus volumineux, plus rapidement.
Versions de .NET
MSBuild (et Visual Studio) cible désormais .NET Framework 4.7.2 et .NET 6.0. Si vous souhaitez utiliser les nouvelles fonctionnalités de l’API MSBuild, votre assembly doit également être mis à niveau, mais le code existant continue de fonctionner.
Journaux
Les journaux binaires sont plus petits et contiennent plus d’informations.
Dans MSBuild 17.8 et versions ultérieures, essayez le nouvel enregistreur d’événements terminal (-terminalLogger
ou -tl
option sur la ligne de commande) pour améliorer la sortie de la console.
Modifications avec rupture
- La méthode
GetType()
ne peut plus être appelée dans les fonctions de propriété. - MSBuild pour .NET cible .NET 6.
Autres changements de comportement
MSBuildCopyContentTransitively
est désormais activé par défaut, ce qui garantit la cohérence dans les dossiers de sortie sur les builds incrémentielles.
Pour plus d’informations sur les modifications apportées à cette version, consultez les notes de publication détaillées et, pour les modifications dans les versions de MSBuild auxquelles vous pouvez renoncer, consultez les vagues de modifications .