PreserveCompilationContext
是一个 MSBuild 属性,它导致 .NET Core 项目向应用程序的依赖项 (.deps) 文件发出有关如何编译应用的其他内容。 这主要用于支持运行时编译方案。
在 .NET 6 之前,对于所有面向 PreserveCompilationContext
(Microsoft.NET.Sdk.true
) 和 Web (Microsoft.NET.Sdk.Web) SDK 的应用程序,Razor 均设置为 Razor。 从 .NET 6 开始,默认情况下不再配置此属性。 但是,Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation 等包根据需要配置此属性。
已引入的版本
ASP.NET Core 6.0
旧行为
依赖项文件包含编译上下文。
新行为
依赖项文件不再包含编译上下文。
更改原因
此更改可改善生成性能和启动时间,并减小 ASP.NET Core 生成输出的大小。
建议的措施
如果你的应用需要此功能,并且不引用配置该属性的包,请将该 PreserveCompilationContext
属性添加到项目文件。
<PropertyGroup>
<PreserveCompilationContext>true</PreserveCompilationContext>
</PropertyGroup>
受影响的 API
没有。