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í.
En este artículo se explica cómo controlar el recortador 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. El recorte se produce cuando se publica la 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 y no estar disponibles en runtime para las llamadas de interoperabilidad de JS. En estos casos, se recomienda crear tus propios tipos personalizados en su lugar. El recortador de IL tampoco puede reaccionar a un comportamiento dinámico de la aplicación en runtime. Para asegurarte de que la aplicación recortada funciona correctamente una vez implementada, prueba la salida publicada con frecuencia durante el desarrollo.
Configuración
Para configurar el recortador de IL, consulta 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.
Establecimiento de características de recortador de IL para las características de la biblioteca de marcos de recorte.
Granularidad del recortador predeterminada
La granularidad del recortador predeterminada para las aplicaciones Blazor es partial. Para recortar todos los ensamblados, cambia la granularidad a full en el archivo de proyecto de la aplicación:
El origen de este contenido se puede encontrar en GitHub, donde también puede crear y revisar problemas y solicitudes de incorporación de cambios. Para más información, consulte nuestra guía para colaboradores.
Comentarios de ASP.NET Core
ASP.NET Core es un proyecto de código abierto. Seleccione un vínculo para proporcionar comentarios:
Aprenda a interoperar aplicaciones de Blazor con código de JavaScript, a usar componentes con plantilla y a controlar eventos del ciclo de vida de los componentes.
Obtenga información sobre cómo Blazor WebAssembly almacena en caché el lote de aplicaciones y el runtime de .NET de WebAssembly, cómo deshabilitar el almacenamiento en caché y cómo diagnosticar errores de integridad.
Aprende a habilitar implementaciones de aplicaciones Blazor WebAssembly hospedadas en entornos que bloquean la descarga y ejecución de archivos de la biblioteca de vínculos dinámicos (DLL).
Obtén información sobre cómo compilar aplicaciones Blazor WebAssembly con dependencias nativas creadas para ejecutarse en WebAssembly en el explorador.