Freigeben über


„PreserveCompilationContext“ nicht standardmäßig konfiguriert

PreserveCompilationContext ist eine MSBuild-Eigenschaft, die bewirkt, dass .NET Core-Projekte zusätzlichen Inhalt an die Abhängigkeitsdatei (.deps) der Anwendung über die Kompilierung der App senden. Dies wird hauptsächlich zur Unterstützung von Laufzeitkompilierungsszenarios verwendet.

Vor .NET 6 wurde für alle Apps, die auf die SDKs Razor (Microsoft.NET.Sdk.Razor) und Web (Microsoft.NET.Sdk.Web) zielen, PreserveCompilationContext auf true festgelegt. Ab .NET 6 ist diese Eigenschaft nicht mehr standardmäßig konfiguriert. Pakete wie „Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation“ konfiguriert diese Eigenschaft nach Bedarf.

Eingeführt in Version

ASP.NET Core 6.0

Altes Verhalten

Die Abhängigkeitsdatei enthält Kompilierungskontext.

Neues Verhalten

Die Abhängigkeitsdatei enthält keinen Kompilierungskontext mehr.

Grund für die Änderung

Diese Änderung verbessert die Buildleistung und Startzeit und verringert die Größe der ASP.NET Core-Buildausgabe.

Wenn Ihre App dieses Feature erfordert und nicht auf ein Paket verweist, das die Eigenschaft konfiguriert, fügen Sie die PreserveCompilationContext-Eigenschaft zu Ihrer Projektdatei hinzu.

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

Betroffene APIs

Keine.