Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Nota:
Esta no es la versión más reciente de este artículo. Para la versión actual, consulte la versión de .NET 10 de este artículo.
Advertencia
Esta versión de ASP.NET Core ya no se admite. Para obtener más información, consulte la política de soporte de .NET y .NET Core. Para la versión actual, consulte la versión de .NET 10 de este artículo.
Revinculación en tiempo de ejecución
Para obtener información sobre cómo la revinculación en tiempo de ejecución minimiza el tamaño de descarga de una aplicación, consulte las herramientas de compilación de ASP.NET Core y la compilación anticipada (AOT).
Utilice System.Text.Json
BlazorLa implementación de interoperabilidad de JS se basa en System.Text.Json, que es una biblioteca JSON de alto rendimiento con baja asignación de memoria. El uso de System.Text.Json no debería resultar en un tamaño adicional de la carga de la aplicación en comparación con la adición de una o más bibliotecas JSON alternativas.
Para obtener instrucciones de migración, consulte Migración de Newtonsoft.Json a System.Text.Json.
Recorte del lenguaje intermedio (IL)
Esta sección solo se aplica a los escenarios Blazor del lado cliente.
El recorte de ensamblados sin usar de una Blazor WebAssembly aplicación reduce el tamaño de la aplicación quitando el código sin usar en los archivos binarios de la aplicación. Para más información, vea Configuración del recortador de ASP.NET Core Blazor.
La vinculación de una Blazor WebAssembly aplicación reduce el tamaño de la aplicación mediante el recorte del código sin usar en los archivos binarios de la aplicación. El enlazador de lenguaje intermedio (IL) solo está habilitado al compilar en configuración Release. Para beneficiarse de esto, implemente la aplicación mediante el dotnet publish comando con la opción -c|--configuration establecida en Release:
dotnet publish -c Release
Ensamblados de carga perezosa
Esta sección solo se aplica a los escenarios Blazor del lado cliente.
Cargar ensamblados en tiempo de ejecución cuando una ruta requiera dichos ensamblados. Para obtener más información, vea Ensamblados de carga diferida en ASP.NET Core Blazor WebAssembly.
Compresión
Esta sección solo se aplica a las Blazor WebAssembly aplicaciones.
Cuando se publica una aplicación Blazor WebAssembly, la salida se comprime estáticamente durante la publicación para reducir el tamaño de la aplicación y acabar con la necesidad de compresión en tiempo de ejecución. Blazor se basa en el servidor para realizar la negociación de contenido y servir archivos comprimidos estáticamente.
Una vez implementada una aplicación, compruebe que la aplicación sirve archivos comprimidos. Inspeccione la pestaña Red en las herramientas de desarrollo de un explorador y compruebe que los archivos se sirven con Content-Encoding: br (compresión Brotli) o Content-Encoding: gz (compresión Gzip). Si el host no sirve archivos comprimidos, siga las instrucciones de Host e implemente ASP.NET Core Blazor WebAssembly.
Deshabilitación de características sin usar
Esta sección solo se aplica a los escenarios Blazor del lado cliente.
Blazor WebAssembly incluye en su tiempo de ejecución las siguientes características de .NET que se pueden deshabilitar para reducir el tamaño de la carga.
Blazor WebAssembly contiene los recursos de globalización necesarios para mostrar valores, como fechas y monedas, en la cultura del usuario. Si la aplicación no requiere localización, puede configurar la aplicación para admitir la cultura invariable, que se basa en la en-US cultura. Aplique la propiedad MSBuild con un valor de <InvariantGlobalization> en el archivo de proyecto de la aplicación (true):
<PropertyGroup>
<InvariantGlobalization>true</InvariantGlobalization>
</PropertyGroup>
La adopción de la globalización invariable solo da como resultado el uso de nombres de zona horaria sin localizar. Para recortar el código y los datos de la zona horaria de la aplicación, aplique la <InvariantTimezone> propiedad MSBuild con un valor de true en el archivo de proyecto de la aplicación (.csproj):
<PropertyGroup>
<InvariantTimezone>true</InvariantTimezone>
</PropertyGroup>
Nota:
<BlazorEnableTimeZoneSupport> invalida una configuración <InvariantTimezone> anterior. Se recomienda quitar la configuración <BlazorEnableTimeZoneSupport>.
Se incluye un archivo de datos para que la información de zona horaria sea correcta. Si la aplicación no necesita esta característica, considera la posibilidad de deshabilitarla estableciendo la propiedad MSBuild <BlazorEnableTimeZoneSupport> en false en el archivo del proyecto de la aplicación:
<PropertyGroup>
<BlazorEnableTimeZoneSupport>false</BlazorEnableTimeZoneSupport>
</PropertyGroup>
La información de intercalación se incluye para que las API StringComparison.InvariantCultureIgnoreCase funcionen correctamente. Si está seguro de que la aplicación no requiere los datos de intercalación, considere deshabilitarlo estableciendo la propiedad BlazorWebAssemblyPreserveCollationData MSBuild en el archivo de proyecto de la aplicación a false:
<PropertyGroup>
<BlazorWebAssemblyPreserveCollationData>false</BlazorWebAssemblyPreserveCollationData>
</PropertyGroup>
Recursos adicionales
Configuración y hospedaje de aplicaciones WebAssembly de .NET