La propiedad TrimmerDefaultAction de MSBuild está en desuso

El proceso de publicación omite ahora el valor de la propiedad TrimmerDefaultAction.

Comportamiento anterior

Anteriormente, solo los ensamblados elegidos con <IsTrimmable>true</IsTrimmable> en el archivo de proyecto de biblioteca se recortaban con la acción especificada por TrimmerDefaultAction. En .NET 6, el valor predeterminado de esa propiedad era copy. Aunque es más probable que las aplicaciones con advertencias de recorte funcionen con este valor predeterminado, el comportamiento en tiempo de ejecución todavía podría verse afectado. Además, la acción copy hacía que las aplicaciones fueran más grandes que si se recortaba toda la aplicación.

Comportamiento nuevo

A partir de .NET 7, la propiedad TrimmerDefaultAction se omite y la publicación se comporta como si estuviera establecida en link todo el tiempo. Esto significa que todos los ensamblados están totalmente recortados, tanto si opta por participar como si no. Como resultado, las aplicaciones con advertencias de recorte pueden ver cambios en el comportamiento o excepciones en tiempo de ejecución. Para obtener más información e instrucciones para restaurar el comportamiento anterior, vea Todos los ensamblados recortados de forma predeterminada.

Versión introducida

.NET 7

Tipo de cambio importante

Este cambio puede afectar a la compatibilidad de orígenes.

Motivo del cambio

Este cambio simplifica las opciones de recorte.

La mejor solución es resolver todas las advertencias de recorte de la aplicación. Para información sobre cómo resolver las advertencias en sus propias bibliotecas, consulte Introducción a las advertencias de recorte. En el caso de otras bibliotecas, póngase en contacto con el autor para solicitar que resuelva las advertencias o elija otra biblioteca que ya admita el recorte. Por ejemplo, puede cambiar a System.Text.Json con la generación de origen, que admite el recorte, en lugar de Newtonsoft.Json. Con esa biblioteca, ya no debería ser necesario usar TrimmerDefaultAction.

Para volver al comportamiento anterior, use global.json para anclar el proyecto al SDK de .NET 6.

Vea también