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

Visual Studio将.cshtml内JavaScript识别为C#报CS0103错误如何解决

问题根因

该问题是Razor文件语法解析规则和JS注释的@标记冲突导致的:Razor引擎默认会将.cshtml/.razor文件中的@符号识别为C#代码插值标记,你这段JS注释里的@param、@returns中的@被VS 2022预览版的Razor解析器误判为C#代码入口,因此会把JS代码错当成C#代码解析,抛出CS0103错误。

解决办法

  • 转义注释内的@符号:将所有JS注释里的@param、@returns修改为@@param、@@returns。Razor语法中两个连续的@会被解析为单个@输出,既不会触发C#代码识别,也不会影响JS注释的正常功能。
  • 抽离独立JS文件:把这段JS代码从Razor文件的<script>标签中迁移到单独的.js文件,再在Razor文件中引用该外部JS文件,完全避开Razor的解析逻辑。
  • 用Razor文本标记包裹JS内容:在<script>标签内部新增一层<text>标签包裹全部JS代码,明确告知Razor引擎这部分内容为纯文本,无需执行C#语法解析。
  • 升级Visual Studio版本:你当前使用的是VS 2022预览版,这类版本本身存在大量未修复的IDE bug,升级到最新的VS 2022正式版即可直接解决这个识别异常问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 23:15:00