.NET Core项目修改Razor视图后如何避免重新编译?
解决.NET Core 6 Razor视图修改后需重新编译的问题
方法1:启用热重载功能
打开项目的Properties/launchSettings.json文件,找到IIS Express的配置段,确保开启热重载:
"profiles": { "IIS Express": { "commandName": "IISExpress", "launchBrowser": true, "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" }, "hotReloadEnabled": true } }
保存配置后重启IIS Express,修改视图后直接刷新浏览器即可生效。
方法2:启用Razor运行时编译
如果热重载仍不生效,可通过运行时编译实现视图修改即时生效:
- 安装NuGet包
Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation - 在
Program.cs中添加运行时编译服务配置:
var builder = WebApplication.CreateBuilder(args); // 仅在开发环境启用运行时编译,避免影响生产性能 builder.Services.AddControllersWithViews(); if (builder.Environment.IsDevelopment()) { builder.Services.AddRazorRuntimeCompilation(); } var app = builder.Build(); // 后续中间件配置...
方法3:确认开发环境配置
确保项目运行在Development环境:
- 检查
launchSettings.json中ASPNETCORE_ENVIRONMENT的值是否为Development - 或在项目调试属性的环境变量中确认该配置正确
完成以上配置后,修改Razor视图内容,直接刷新浏览器就能看到更新,无需重新编译或重启服务器。
内容的提问来源于stack exchange,提问作者jstuardo
相关产品推荐
相关产品推荐

