如何在运行时编译 Razor 视图

How to compile Razor views at runtime

ASP.NET 5 MVC 在构建时将 Razor 视图编译成 assambly。

一些视图可以在应用程序发布后由用户修改。

如何以源代码形式包含视图(如 cshtml 文件,以便它们可以在修改后在运行时修改和编译?

更新

在 Starup.cs 中启用了运行时编译。

Views 目录未出现在已发布的输出中。

如何将视图添加为 cshtml 文件,以便它们在运行时自动编译。

是否应该手动创建 Views 目录并将 cshtml 文件复制到其中?如何通过文件名在运行时使用这些视图?

如何在运行时更新 cshtml 文件并强制应用程序使用更新版本?

Select 创建项目时“启用 Razor 运行时编译”:

这是 .csproj 文件:

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>net5.0</TargetFramework>
    <CopyRefAssembliesToPublishDirectory>false</CopyRefAssembliesToPublishDirectory>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="5.0.5" />
  </ItemGroup>

</Project>

您的问题需要更具体一些。

cshtml 默认视图可以在运行时修改,不需要编译以使更改生效,

但是你的问题是它们是否可以在“运行时”被“编译”。运行时发生在编译之后,所以你不能在运行时编译。

我想你要找的答案是 cshtml 文件如果在运行时改变不需要重新编译