前言:
本文使用 .NET Core SDK 3.1 的版本
在 ASP.NET MVC 中,项目默认是视图运行时编译,在 ASP.NET Core MVC 中视图运行时编译需要手动开启。
一、新项目开启运行时编译
在创建新的 ASP.NET Core Web 应用程序时,如果选择 Razor 或者 MVC 模板,在右侧栏中会出现身份验证和高级的选项,在高级选项中勾选上 Enable Razor runtime compilation 项即可。

二、旧项目开启运行时编译
首先要引入运行时编译的 NuGet 包:
Install-Package Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation -Version 3.1.10
直接注册视图运行时编译的服务
public void ConfigureServices(IServiceCollection services)
{
services.AddControllersWithViews()
.AddRazorRuntimeCompilation();
}
在注册视图运行时编译的服务以后在开发时就已经能够实现功能了,
但是在发布的时候 Views 目录会被编译为 *.Views.dll 文件,
要解决这个问题可以在项目中加入 RazorCompileOnBuild 和 RazorCompileOnPublish 的如下配置。
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<UserSecretsId>XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX</UserSecretsId>
<RazorCompileOnBuild>false</RazorCompileOnBuild>
<RazorCompileOnPublish>false</RazorCompileOnPublish>
</PropertyGroup>

本文基于.NET Core SDK 3.1 版本,介绍了在 ASP.NET Core 中开启视图运行时编译的方法。在 ASP.NET Core MVC 里,视图运行时编译需手动开启,分别说明了新项目可在创建时勾选相关选项,旧项目要引入 NuGet 包、注册服务并加入特定配置。
925

被折叠的 条评论
为什么被折叠?



