如何检测Razor视图中可能缺失的@符号?
如何检测Razor视图中缺失@前缀的C#代码块
在Razor视图里,若C#代码块未添加@前缀,代码会直接原样输出,这显然不符合预期(除非你运营的是C#教学类网站)。下面推荐几种能帮你识别这类问题的静态分析工具:
- ReSharper:这款JetBrains的工具对ASP.NET Razor有完善的支持,能自动检测出未加@的C#代码块,在编辑器内直接标红提示,还支持一键快速修复添加@符号。
- Roslyn分析器:你可以自定义Roslyn规则,针对Razor文件的语法树做分析,识别出那些本应作为代码执行却被当作文本的C#结构(比如if语句、变量引用等);也有现成的社区规则包可直接使用。
- Visual Studio内置分析:新版Visual Studio的ASP.NET相关工具中,已自带基础的Razor语法检查功能,能发现明显的未加@的代码块问题,在错误列表里会给出对应的提示。
举个例子,像下面这段缺失@的代码:
if (value != null) { <text>We have a value.</text> }
上面提到的工具都能快速标记出这段代码的问题,提醒你添加@前缀。
内容的提问来源于stack exchange,提问作者Freewalker
相关产品推荐
相关产品推荐

