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

如何配置Visual Studio 2019 Pro,使其在存在TypeScript或Razor/CSHTML错误时像处理C#编译错误一样停止启动调试会话

我刚好遇到过一模一样的问题,给你分享下亲测有效的解决步骤,完全适配Visual Studio 2019 Pro的非.NET Core ASP.NET MVC项目:

针对Razor/CSHTML错误的解决方案

默认情况下,Razor视图的编译是延迟到运行时才进行的,所以即便有语法错误,按F5还是会启动调试。要让这些错误在构建阶段就被检测到并阻止调试,你需要修改项目文件:

  • 右键项目 → 选择「卸载项目」
  • 右键已卸载的项目 → 选择「编辑 [你的项目名].csproj」
  • 在<PropertyGroup>节点里添加以下配置:
    <MvcBuildViews>true</MvcBuildViews>
    <EnableRazorCompileOnBuild>true</EnableRazorCompileOnBuild>
    
  • 保存文件后,右键项目 → 选择「重新加载项目」

这样设置后,每次构建时都会提前编译所有Razor视图,一旦发现错误就会终止构建,自然也就不会启动调试了。

针对TypeScript错误的解决方案

默认TypeScript的编译错误不会被当作阻止构建的“致命错误”,所以需要调整两处设置:

  1. 修改TypeScript配置文件
    • 找到项目根目录下的tsconfig.json,确保compilerOptions里包含这一项:
      "compilerOptions": {
        "noEmitOnError": true,
        // 保留你原本的其他配置
      }
      
      这个配置的作用是:只要有TypeScript错误,就不会生成编译后的JS文件。
  2. 让Visual Studio把TypeScript错误视为构建错误
    • 右键项目 → 选择「属性」
    • 切换到「生成」选项卡,找到「TypeScript编译」区域
    • 勾选「将TypeScript错误视为构建错误」选项(如果没看到这个选项,也可以直接修改项目文件)
    • 或者直接编辑.csproj文件,在<PropertyGroup>中添加:
      <TypeScriptCompileBlocked>false</TypeScriptCompileBlocked>
      <TypeScriptNoEmitOnError>true</TypeScriptNoEmitOnError>
      

做完以上所有设置后,再按F5调试时,Visual Studio就会像对待C#编译错误一样,只要检测到Razor/CSHTML或TypeScript的错误,就会立刻停止构建,不会启动调试进程。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 21:42:34