【推荐】Razor文件编译 ASP.NET Core
Razor具有 .cshtml 扩展名的文件使用 SDK 在生成和发布时 Razor 进行编译。 可以选择通过配置项目来启用运行时编译。
Razor 编译
默认情况下,SDK 会启用文件的生成 Razor 时和发布时 Razor 编译。 启用后,运行时编译是对生成时编译的补充,允许文件在编辑 Razor 后进行更新。
创建项目时启用运行时编译
RazorPages 和 MVC 项目模板包含一个选项,用于创建项目时启用运行时编译。 3.1 及 ASP.NET Core支持此选项。
在"创建新 web ASP.NET Core"对话框中:
选择"Web 应用程序"或 "Web 应用程序 (模型-视图-控制器) 模板。
选中" 启用 Razor 运行时编译" 复选框。
在现有的项目中启用运行时编译
为现有项目的所有环境启用运行时编译:
- 安装Microsoft.AspNetCore.Mvc。 RazorRuntimeCompilation NuGet包。
- 更新项目的 Startup.ConfigureServices 方法以包含对 AddRazorRuntimeCompilation 的调用。 例如: 。
public void ConfigureServices(IServiceCollection services) { services.AddRazorPages() .AddRazorRuntimeCompilation(); // code omitted for brevity }
GarsonZhang www.yesdotnet.com
有条件地启用现有项目中的运行时编译(推荐)
启用运行时编译时可使其仅用于本地开发。 以这种方式有条件地启用可确保已发布的输出:
- 使用编译视图。
- 不会在生产环境中启用文件观察程序。
仅在开发环境中启用运行时编译:
- 安装Microsoft.AspNetCore.Mvc。 RazorRuntimeCompilation NuGet包。
- 在 上修改 environmentVariableslaunchSettings.js 配置文件部分:
- 验证 ASPNETCORE_ENVIRONMENT 是否设置为 "Development" 。
- 将 ASPNETCORE_HOSTINGSTARTUPASSEMBLIES 设置为 "Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation"。
在下面的示例中, 和 启动配置文件的开发环境中启用了 IIS Express RazorPagesApp 运行时编译:
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:57676",
"sslPort": 44364
}
},
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development",
"ASPNETCORE_HOSTINGSTARTUPASSEMBLIES": "Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation"
}
},
"RazorPagesApp": {
"commandName": "Project",
"launchBrowser": true,
"applicationUrl": "https://localhost:5001;http://localhost:5000",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development",
"ASPNETCORE_HOSTINGSTARTUPASSEMBLIES": "Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation"
}
}
}
}
项目的 类中不需要更改 Startup 代码。 在运行时,ASP.NET Core在中搜索程序集级 HostingStartup属性 Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation 。 HostingStartup属性指定要执行的应用启动代码。 该启动代码启用运行时编译。
参考: https://docs.microsoft.com/zh-cn/aspnet/core/mvc/views/view-compilation?view=aspnetcore-5.0
版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
post YES开发框架