ASP.NET Core 3.x Razor视图运行时刷新实时编译

前言:

  很长一段时间没有写过ASP.NET Core Razor(.cshtml)视图开发WEB页面了,今天刚好把之前做的一个由ASP.NET Core 2.2+Razor开发的项目升级到ASP.NET Core 3.1,在优化一些新功能的时候忽然发现了一个很蛋痛的问题,就是我每次修改了Razor页面中的内容要重新启动一遍项目让项目重新编译一次才能看到修改内容的一些结果,这样子开发起来真的是太影响开发效率了,通过阅读官方文档原来是可以通过配置文件可以在启动运行时编译。

运行时编译配置如下:

1、首先引入Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation应用程序包:

复制如下代码(也可以直接到管理Nuget程序包中搜索下载):

Install-Package Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation -Version 3.1.7

2、更新项目的 Startup.ConfigureServices 方法以包含对 AddRazorRuntimeCompilation 的调用,例如:

public void ConfigureServices(IServiceCollection services)
{
    services.AddRazorPages().AddRazorRuntimeCompilation();
}