默认不配置 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
无。