Razor 运行时编译已过时,不建议用于生产方案。 对于生产环境,请使用默认构建时编译。 对于开发场景,请改用 热重载。
已引入的版本
.NET 10 预览版 7
以前的行为
以前,可以使用 Razor 运行时编译 在应用程序运行时重新编译 .cshtml 文件。 这意味着无需重启应用程序即可使更改生效。
新行为
从 .NET 10 开始,使用 受影响的 API 会生成带有诊断 ID ASPDEPR003的编译器警告:
警告ASPDEPR003:Razor 运行时编译已过时,不建议用于生产方案。 对于生产环境,请使用默认构建时编译。 对于开发情境,请使用热重载。 有关详细信息,请访问 https://aka.ms/aspnet/deprecate/003。
破坏性变更的类型
此更改可能会影响 源兼容性。
更改原因
Razor 运行时编译已替换为 热重载,这是几年以来推荐的方法。 此更改更清楚地表明,Razor 运行时编译不支持新功能,不应再使用。
建议的措施
请删除对AddRazorRuntimeCompilation的调用并使用热重载。
受影响的 API
- Microsoft.AspNetCore.Mvc.ApplicationParts.AssemblyPartExtensions
 - Microsoft.Extensions.DependencyInjection.RazorRuntimeCompilationMvcBuilderExtensions.AddRazorRuntimeCompilation
 - Microsoft.Extensions.DependencyInjection.RazorRuntimeCompilationMvcCoreBuilderExtensions.AddRazorRuntimeCompilation
 - Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation.FileProviderRazorProjectItem
 - Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation.MvcRazorRuntimeCompilationOptions