Configuración del recortador de ASP.NET Core Blazor

Nota

Esta no es la versión más reciente de este artículo. Para la versión actual, consulte la versión .NET 8 de este artículo.

Importante

Esta información hace referencia a un producto en versión preliminar, el cual puede sufrir importantes modificaciones antes de que se publique la versión comercial. Microsoft no proporciona ninguna garantía, expresa o implícita, con respecto a la información proporcionada aquí.

Para la versión actual, consulte la versión .NET 8 de este artículo.

En este artículo se explica cómo controlar el recortado de lenguaje intermedio al compilar una aplicación Blazor.

Blazor WebAssembly realiza un recorte de lenguaje intermedio (IL) para reducir el tamaño de la salida publicada. De forma predeterminada, el recorte se produce cuando se publica una aplicación.

El recorte puede tener efectos perjudiciales para la aplicación publicada. En las aplicaciones que usan reflexión, el recortador de IL a menudo no puede determinar los tipos necesarios para la reflexión en runtime y recortarlos. Por ejemplo, los tipos de marco complejos para la interoperabilidad de JS, como KeyValuePair, podrían recortarse de manera predeterminada y no estar disponibles en runtime para las llamadas de interoperabilidad de JS. En estos casos, se recomienda crear sus propios tipos personalizados en su lugar. El recortador de IL tampoco puede reaccionar a un comportamiento dinámico de la aplicación en tiempo de ejecución. Para asegurarse de que la aplicación recortada funciona correctamente una vez implementada, pruebe la salida publicada con frecuencia durante el desarrollo.

Para configurar el recortador de IL, consulte el artículo Opciones de recorte en la documentación sobre aspectos básicos de .NET, que incluye instrucciones sobre los temas siguientes:

  • Deshabilitación del recorte para toda la aplicación con la propiedad <PublishTrimmed> en el archivo de proyecto
  • Control de la agresividad con la que el recortador de IL descarta el IL sin usar.
  • Interrupción del recorte de ensamblados específicos por parte del recortador de IL.
  • Ensamblados "raíz" para recortar
  • Obtención de advertencias para los tipos reflejados mediante el establecimiento de la propiedad <SuppressTrimAnalysisWarnings> en false en el archivo de proyecto
  • Control del recorte de símbolos y compatibilidad con el depurador.
  • Establecer características de recortador de IL para las características de la biblioteca de marcos de recorte.

Recursos adicionales