Skip to main content

Precompilación de vistas

Por defecto, las vistas Razor se compilan en tiempo de ejecución. La primera solicitud tras un despliegue dispara ese paso de compilación, que puede tardar y —peor aún— fallar solo en producción. Precompilar las vistas en tiempo de compilación evita ese retraso y detecta los errores de sintaxis temprano.

Cómo funciona

Al publicar el proyecto web con la configuración adecuada, el proceso genera un ensamblado de vistas (<proyecto>.Views.dll) junto al ensamblado principal, de modo que las vistas quedan listas para ejecutarse. ASP.NET Core carga ese ensamblado automáticamente al iniciar.

dotnet publish src/Crono.Web/Crono.Web.csproj -c Release

La salida de la publicación contiene Crono.Web.dll y Crono.Web.Views.dll, que se cargan al arranque sin necesidad de compilar las vistas en la primera petición (ver Implementación y construcción).

Omitir la compilación en desarrollo

Durante el desarrollo rápido puede convenir omitir la compilación de vistas para acortar el tiempo de build, a costa de una primera solicitud más lenta. Esto se controla con propiedades del proyecto (por ejemplo, desactivando RazorCompileOnBuild), y un módulo concreto puede optar por no precompilar añadiendo esa propiedad a su archivo de proyecto.

Beneficios

  • Arranque en frío más rápido, porque no hay compilación de vistas en tiempo de ejecución.
  • Los errores de compilación afloran en el CI/CD en vez de en producción.
  • Las vistas precompiladas pueden recortarse y optimizarse como parte del pipeline de construcción.

Precompilar las vistas es una optimización de bajo esfuerzo que mejora la fiabilidad y el rendimiento percibido en los despliegues de producción.