VS2019中修改ASP.NET Core的cshtml/cshtml.cs需重启应用,求解决方案
解决VS2019中ASP.NET Core修改cshtml/cshtml.cs需重启生效的问题
1. 开启热重载并选择正确启动方式
- 打开项目根目录的
launchSettings.json,确认hotReloadEnabled设为true:"profiles": { "你的项目名称": { "commandName": "Project", "hotReloadEnabled": true } } - 启动项目时用Ctrl+F5(启动不调试),调试模式下热重载的支持有限。
2. 配置Razor运行时编译
- 在
Program.cs(.NET 6+)或Startup.cs(.NET 5及更早)里添加运行时编译服务:// .NET 6+ Program.cs示例 var builder = WebApplication.CreateBuilder(args); // 注册Razor运行时编译 builder.Services.AddRazorPages().AddRazorRuntimeCompilation(); // 其他服务配置代码... var app = builder.Build(); // 中间件配置代码... app.Run(); - 安装对应的NuGet包:
Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation,可以直接在NuGet包管理器里搜索安装,或者用命令行:Install-Package Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation
3. 检查VS2019的设置
- 打开工具 > 选项 > 项目和解决方案 > ASP.NET Core,确保勾选了启用 Razor 运行时编译。
- 进入工具 > 选项 > 调试 > 热重载,确认启用热重载及相关子选项都已勾选。
4. 清理项目缓存
- 先点击生成 > 清理解决方案,再点击生成 > 重建解决方案。
- 手动删掉项目目录下的
bin和obj文件夹,再重新生成项目,清除残留的编译缓存。
5. 手动触发热重载(针对cshtml.cs)
- 修改
cshtml.cs后如果自动重载没反应,直接点击VS工具栏的热重载按钮,或者按Ctrl+Shift+R手动触发。 - 确认项目目标框架是
.NET 5及以上,VS2019对这个版本之后的热重载支持更完善。
内容的提问来源于stack exchange,提问作者Ritik Soni
相关产品推荐
相关产品推荐

