La propiedad PreserveCompilationContext no está configurada de forma predeterminada

PreserveCompilationContext es una propiedad de MSBuild que hace que los proyectos de .NET Core emitan contenido adicional al archivo de dependencias (.deps) de la aplicación sobre cómo se ha compilado la aplicación. Esto se usa principalmente para admitir escenarios de compilación en tiempo de ejecución.

Antes de .NET 6, PreserveCompilationContext se establecía en true para todas las aplicaciones destinadas a los SDK de Razor (Microsoft.NET.Sdk.Razor) y web (Microsoft.NET.Sdk.Web). A partir de .NET 6, esta propiedad ya no está configurada de forma predeterminada. Pero paquetes como Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation configuran esta propiedad según sea necesario.

Versión introducida

ASP.NET Core 6.0

Comportamiento anterior

El archivo de dependencias contiene el contexto de compilación.

Comportamiento nuevo

El archivo de dependencias ya no contiene el contexto de compilación.

Motivo del cambio

Este cambio mejora el rendimiento de la compilación y el tiempo de inicio, y reduce el tamaño de la salida de compilación de ASP.NET Core.

Si la aplicación necesita esta característica y no hace referencia a un paquete que configura la propiedad, agregue la propiedad PreserveCompilationContext al archivo del proyecto.

<PropertyGroup>
   <PreserveCompilationContext>true</PreserveCompilationContext>
</PropertyGroup>

API afectadas

Ninguno.