默认不配置 PreserveCompilationContext

PreserveCompilationContext 是一个 MSBuild 属性,它使 .NET Core 项目向应用程序的依赖项 (.deps) 文件发出有关应用如何编译的其他内容。 这主要用于支持运行时编译场景。

在 .NET 6 之前,对于所有面向 Razor (Microsoft.NET.Sdk.Razor) 和 Web (Microsoft.NET.Sdk.Web) SDK 的应用程序,PreserveCompilationContext 均设置为 true。 从 .NET 6 开始,默认不再配置此属性。 但 Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation 等包可根据需要配置此属性。

引入的版本

ASP.NET Core 6.0

旧行为

依赖项文件包含编译上下文。

新行为

依赖项文件不再包含编译上下文。

更改原因

此更改会提高生成性能、缩短启动时间,并减小 ASP.NET Core 的生成输出大小。

如果应用需要此功能且未引用配置属性的包,请在项目文件中添加 PreserveCompilationContext 属性。

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

受影响的 API

无。