„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.
Empfohlene Maßnahme
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.