首页 > 解决方案 > 在 Razor 页面中禁用 ReSharper HTML 代码检查的正确方法是什么?

问题描述

我有一个 C# Razor 页面,ReSharper(通过 TeamCity Professional 2019.1.3,很可能是 2019.1.1)标记为具有潜在的代码质量问题>未关闭标签

由于我只使用 TeamCity 附带的 ReSharper 版本,我需要手动添加代码以忽略此错误。

根据潜在代码质量问题的 ReSharper 文档, ID 是Html.TagNotClosed,这意味着我应该能够在触发此错误的代码上方使用以下注释:ReSharper disable once Html.TagNotClosed

但是,如果我尝试以下任一代码片段,ReSharper 不会忽略此错误。

@if (currentRecord % 3 == 1)
{
    // ReSharper disable once Html.TagNotClosed
    <text><div class="row top-spacing-none bottom-spacing-small" data-equalizer="" data-equalizer-mq="medium-up"></text>
}

// alternative

@if (currentRecord % 3 == 1)
{
    <!-- ReSharper disable once Html.TagNotClosed -->
    <text><div class="row top-spacing-none bottom-spacing-small" data-equalizer="" data-equalizer-mq="medium-up"></text>
}

我已经确认这是它引发错误的行,这是我想尝试的代码,因为Razor 所涵盖的问题不理解未关闭的 html 标签

让 ReSharper 忽略 Razor CSHTML 文件中的“未关闭标签”错误的正确方法是什么?

标签: teamcityresharper

解决方案


目前不可能用“禁用一次”来禁用这个特定的突出显示。至少因为它发生了两次。您可以执行以下操作之一:

1. 改为使用禁用/恢复:

// ReSharper disable Html.TagNotClosed
<text><div class="row top-spacing-none bottom-spacing-small" data-equalizer="" data-equalizer-mq="medium-up"></text>
// ReSharper restore Html.TagNotClosed

2.使用@:,ReSharper跳过里面的“tag not closed”分析

@: <div class="row top-spacing-none bottom-spacing-small" data-equalizer="" data-equalizer-mq="medium-up">

推荐阅读