TOP

NetCore Razor页面动态刷新-Add Razor runtime compilation when developing ASP.NET Core

- 网络 | 点击量:

当我开始研究 ASP.NET Core时,我有点惊讶,我不得不编译我的网络项目。Razor 文件的运行时间汇编刚刚开箱即用, ASP.NET Mvc 。在这篇文章中,我将向您展示我们将如何解决此问题,当将 elmah.io 应用程序迁移到"ASP.NET Core"cshtml

微软写了一些关于如何启用 ASP.NET 核心中 Razor 文件的运行时间汇编的好文档。创建新的(>ASP.NET Core3.1)项目时,您甚至可以单击复选框。我喜欢在强类型 C# 中拥有我的主要配置, 具有 IntelliSense 的好处, 但作为向导的一部分提供的解决方案则不是这样。

要设置运行时间编译,首先安装 NuGet 包:Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation

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

Startup.cs文件中的方法中,调用该方法。由于我们仅在开发过程中更新Razor文件,而不是在生产中(对吗?),请在这样的声明中将包裹起来:ConfigureServicesStartup.csAddRazorRuntimeCompilationif

// ...var mvcBuilder = services.AddControllersWithViews();
if (Env.IsDevelopment())
{
    mvcBuilder.AddRazorRuntimeCompilation();
}// ...

确保仅在开发过程中添加运行时间编译。属性应注入构造器中,如果尚未有:IsDevelopmentEnv

public IWebHostEnvironment Env { get; set; }public Startup(IWebHostEnvironment env){
    Env = env;
}

在 C# 中配置此内容的另一个好处是有可能包括选项。可以自定义Razor项目文件夹(不用添加"Views"):

mvcBuilder.AddRazorRuntimeCompilation(options =>
{
    options.FileProviders.Add(new PhysicalFileProvider(customPath));
    //列options.FileProviders.Add(new PhysicalFileProvider("MICZ.WebSite"));
});



转载注明(米茨-MICZ)原文地址:

相关文章!