Proprietà PreserveCompilationContext non configurata per impostazione predefinita

PreserveCompilationContext è una proprietà MSBuild che fa sì che i progetti .NET Core generino contenuti aggiuntivi al file di dipendenza dell'applicazione (.deps) sulla modalità di compilazione dell'app. Viene usata principalmente per supportare scenari di compilazione in fase di esecuzione.

Prima di .NET 6, la proprietà PreserveCompilationContext era impostata su true per tutte le app destinate agli SDK Razor (Microsoft.NET.Sdk.Razor) e Web (Microsoft.NET.Sdk.Web). A partire da .NET 6, questa proprietà non è più configurata per impostazione predefinita. Tuttavia, pacchetti come Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation configurano questa proprietà in base alle esigenze.

Versione introdotta

ASP.NET Core 6.0

Comportamento precedente

Il file di dipendenza contiene il contesto di compilazione.

Nuovo comportamento

Il file di dipendenza non contiene più il contesto di compilazione.

Motivo della modifica

Questa modifica migliora le prestazioni di compilazione e il tempo di avvio e riduce le dimensioni dell'output di compilazione di ASP.NET Core.

Se l'app richiede questa funzionalità e non fa riferimento a un pacchetto che configura la proprietà, aggiungere la proprietà PreserveCompilationContext al file di progetto.

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

API interessate

Nessuno.