如何在 Rider 中启用视图热重载?

Fre*_*ios 3 asp.net-mvc .net-core asp.net-core rider

我正在使用 Rider 编写一个 MVC 应用程序,一个行为困扰着我:当我修改视图时,我必须重建解决方案并重新启动它以查看更改。当我从浏览器重新加载站点时,是否可以直接看到修改后的视图?

顺便说一句,IDE(或 dotnet?)不认为视图更改是触发重建的更改。我必须手动单击“重建选定的项目”,然后才能启动应用程序的修改版本。这是为什么?

Dav*_*idG 11

这不是 Rider 的问题,而是 ASP.NET MVC Core 的基本工作方式。您需要启用Razor 运行时编译。从文档(强调我的):

Razor 文件在构建发布时使用 Razor SDK编译。通过配置您的应用程序,可以选择启用运行时编译。

请注意,默认情况下,此列表中不包含运行时。要更改此行为:

  1. 添加 Nuget 包Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation

  2. 更改您的Startup.ConfigureServices代码以包含运行时编译:

    services
        .AddControllersWithViews()
        .AddRazorRuntimeCompilation();
    
    Run Code Online (Sandbox Code Playgroud)