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

Visual Studio从2019升级到2022后.cshtml文件无法设置断点是什么原因

Visual Studio 2022 升级后.cshtml文件无法打断点解决方案

这个问题不属于Visual Studio 2022的普遍原生缺陷,多为版本升级过程中的配置遗留、缓存冲突导致,可按以下步骤排查解决:

  • 第一步:检查Razor运行时编译配置
    右键项目→【属性】→【调试】→【常规】→打开调试启动配置文件UI,勾选「启用 Razor 运行时编译」;也可直接在项目入口文件中添加配置代码:
    // .NET 6及以上版本Program.cs中添加
    builder.Services.AddRazorPages().AddRazorRuntimeCompilation();
    
    需同步确认Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation NuGet包版本与项目目标.NET版本完全匹配。
  • 第二步:清理Visual Studio组件缓存
    关闭所有Visual Studio窗口,删除路径%LocalAppData%\Microsoft\VisualStudio\17.0_*\ComponentModelCache下的所有文件(17.0开头的目录为VS2022对应实例目录),重启VS后会自动重建缓存。
  • 第三步:校验调试器全局配置
    打开VS顶部菜单【工具】→【选项】→【调试】→【常规】,确认以下配置状态:
    • 勾选「为 ASP.NET 启用 Razor 调试」
    • 取消勾选「要求源文件与原始版本完全匹配」
    • 保持「启用仅我的代码」为勾选状态
  • 第四步:修正项目编译配置
    打开项目.csproj文件,确认Razor相关编译属性配置如下:
    <RazorCompileOnBuild>false</RazorCompileOnBuild>
    <RazorCompileOnPublish>true</RazorCompileOnPublish>
    
    升级过程中迁移工具经常会错误将RazorCompileOnBuild设为true,导致编译时直接把.cshtml内容编译进程序集,无法在源码层面插入断点。

如果以上步骤全部执行后问题仍存在,可将Visual Studio 2022更新到最新的公开补丁版本,目前17.6之后的正式版本均已修复极少数场景下出现的Razor断点失效bug。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 22:36:04