ASP.NET Core 3.1 Razor 視圖預編譯、動態編譯

1.安裝NuGet包

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

2.Startup.cs 配置

public void ConfigureServices(IServiceCollection services)

{

  services.AddRazorPages() .AddRazorRuntimeCompilation();

}

<PropertyGroup> <TargetFramework>netcoreapp3.1</TargetFramework>

  <RazorCompileOnBuild>false</RazorCompileOnBuild>

  <MvcRazorCompileOnPublish>false</MvcRazorCompileOnPublish>

</PropertyGroup>

通過上述程式碼我們可以在生產環境中也可以進行動態編譯,當然我們可以通過條件來限制.

public IWebHostEnvironment Env { get; set; }

public void ConfigureServices(IServiceCollection services)

{

  IMvcBuilder builder = services.AddRazorPages();

  #if DEBUG

  if (Env.IsDevelopment())

  {

    builder.AddRazorRuntimeCompilation();

  }

  #endif

}

 

Tags: