La propriété MSBuild TrimmerDefaultAction est déconseillée

La valeur de la propriété TrimmerDefaultAction est maintenant ignorée par le processus de publication.

Comportement précédent

Auparavant, seuls les assemblys qui ont été acceptés avec <IsTrimmable>true</IsTrimmable> dans le fichier projet de bibliothèque étaient découpés avec l’action spécifiée par TrimmerDefaultAction. Dans .NET 6, la valeur par défaut de cette propriété était copy. Bien que les applications avec des avertissements de découpage étaient plus susceptibles de fonctionner avec cette valeur par défaut, le comportement d’exécution pouvait quand même être affecté. Par ailleurs, l’action copy faisait augmenter la taille de l’application bien plus que si l’application entière était découpée.

Nouveau comportement

À compter de .NET 7, la propriété TrimmerDefaultAction est ignorée et la publication se comporte comme si elle était définie sur link tout le temps. Cela signifie que tous les assemblys sont entièrement découpés, qu’ils soient définis ou non pour le découpage. Par conséquent, les applications avec des avertissements de découpage peuvent avoir des changements de comportement ou des exceptions d’exécution. Pour plus d’informations et d’instructions sur la restauration du comportement précédent, consultez Tous les assemblys découpés par défaut.

Version introduite

.NET 7

Type de changement cassant

Ce changement peut affecter la compatibilité source.

Raison du changement

Ce changement simplifie les options de découpage.

La meilleure solution consiste à résoudre tous les avertissements de découpage dans votre application. Pour plus d’informations sur la résolution des avertissements dans vos propres bibliothèques, consultez Introduction aux avertissements de découpage. Pour d’autres bibliothèques, contactez l’auteur pour lui demander de résoudre les avertissements, ou choisissez une autre bibliothèque qui prend déjà en charge le découpage. Par exemple, vous pouvez basculer vers System.Text.Json avec la génération source, qui prend en charge le découpage, au lieu de Newtonsoft.Json. Avec cette bibliothèque, vous n’avez plus besoin d’utiliser TrimmerDefaultAction.

Pour revenir au comportement précédent, utilisez global.json pour épingler votre projet au kit de développement logiciel (SDK) .NET 6.

Voir aussi