You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VS Code调试.NET Core解决方案时子文件夹HTML修改刷新不生效

解决方案

1. 修复调试工作目录(解决Razor修改不生效+空引用异常)

问题核心是调试时的工作目录指向了解决方案根目录,而非MVC项目的根目录,导致ASP.NET Core无法正确定位视图文件路径,既触发不了Razor热重载,还会在启用Runtime Compilation时抛出空引用异常。

修改launch.json中的cwd配置项,将其指向MVC项目根目录:

"cwd": "${workspaceFolder}/TestMVCApp",

修改后的对应配置段完整内容:

{
    "name": ".NET Core Launch (web)",
    "type": "coreclr",
    "request": "launch",
    "preLaunchTask": "build",
    "program": "${workspaceFolder}/TestMVCApp/bin/Debug/net6.0/TestMVCApp.dll",
    "args": [],
    "cwd": "${workspaceFolder}/TestMVCApp",
    "stopAtEntry": false,
    "serverReadyAction": {
        "action": "openExternally",
        "pattern": "\\bNow listening on:\\s+(https?://\\S+)"
    },
    "env": {
        "ASPNETCORE_ENVIRONMENT": "Development"
    },
    "sourceFileMap": {
        "/Views": "${workspaceFolder}/TestMVCApp/Views"
    },
    "logging": {
        "moduleLoad": false,
        "engineLogging": false,
        "exceptions": true,
        "programOutput": true,
        "browserStdOut": false
    }
}

2. 安装Razor Runtime Compilation NuGet包

.NET 6及以上版本默认不包含Razor运行时编译组件,需手动安装:
切换到TestMVCApp目录,执行终端命令:

dotnet add package Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation

3. 验证功能

重启VS Code调试会话,修改Views/Home/Index.cshtml中的H1标签内容,刷新Chrome浏览器,修改会立即生效;空引用异常也会随之消失。

补充说明

  • 单独打开MVCApp文件夹时,VS Code默认工作目录为项目根目录,因此热重载正常;打开解决方案根目录时必须手动指定调试工作目录为MVC项目路径。
  • 空引用异常是因为Runtime Compilation在工作目录错误时,无法找到必要的配置或视图路径,导致内部依赖项为空,修复工作目录即可解决。

内容的提问来源于stack exchange,提问作者Mike Smith

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 17:13:09