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.RuntimeCompilationNuGet包版本与项目目标.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
相关产品推荐
相关产品推荐

