Sdílet prostřednictvím


Funkce PreserveCompilationContext není ve výchozím nastavení nakonfigurovaná

PreserveCompilationContext je vlastnost MSBuild, která způsobí, že projekty .NET Core generují další obsah do souboru závislosti aplikace (.deps) o způsobu kompilace aplikace. Tato možnost se primárně používá k podpoře scénářů kompilace za běhu.

Před .NET 6 byla PreserveCompilationContext nastavena na true pro všechny aplikace, které cílí na Razor (Microsoft.NET.Sdk.Razor) a Web (Microsoft.NET.Sdk.Web) sady SDK. Počínaje verzí .NET 6 už tato vlastnost není ve výchozím nastavení nakonfigurovaná. Balíčky, jako je Microsoft.AspNetCore.Mvc.Razor, RuntimeCompilation, automaticky konfigurují tuto vlastnost podle potřeby.

Verze byla představena

ASP.NET Core 6.0

Staré chování

Soubor závislostí obsahuje kontext kompilace.

Nové chování

Soubor závislostí už neobsahuje kontext kompilace.

Důvod změny

Tato změna zlepšuje výkon sestavení a dobu spuštění a snižuje velikost výstupu sestavení ASP.NET Core.

Pokud vaše aplikace tuto funkci vyžaduje a neodkazuje na balíček, který tuto vlastnost nakonfiguruje, přidejte PreserveCompilationContext tuto vlastnost do souboru projektu.

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

Ovlivněná rozhraní API

Žádné.