【问题标题】:Suppress Blazor css ::deep warning抑制 Blazor css ::deep 警告
【发布时间】:2021-08-24 19:36:44
【问题描述】:

在我使用 ::deep 时,在 asp.net Blazor 应用程序的 css 文件中,VS 发出警告“验证 (CSS 4.0):“::deep”不是有效的伪元素。”这可能适用于常规 CSS,但不适用于 Blazor 应用程序。

有没有办法抑制它? Right-click -> Suppress -> In File / In Source 什么都不做。

【问题讨论】:

标签: c# asp.net-core blazor


【解决方案1】:

您可以将deep 添加到供应商特定的扩展中。
我已将它添加到 Microsoft 扩展中,并且可以正常工作。

使用编辑器(在管理员模式下)打开文件:
C:\Program Files (x86)\Microsoft Visual Studio\2019\\Common7\IDE\Extensions\Microsoft\Web Tools\Languages\Schemas\CSS\1033\css-vendor-ms.xml

转到第 ~69 行并添加以下代码:

    <CssPseudo name="::deep"
             _locID="ms-browse-pseudo-element"
             _locAttrData="description"
             version="3.0"
             browsers="IE11"
             description="Blazor child component support."
             standard-reference="https://docs.microsoft.com/en-us/aspnet/core/blazor/components/css-isolation?view=aspnetcore-5.0"/>

重新启动 Visual Studio。

现在我可以看到源代码为:

【讨论】:

  • 人们是怎么知道这些东西的?这比我愿意承认的更让我恼火。谢谢!完美地工作。先生,这是你的饼干。
  • 这可以在解决方案中完成吗?这样任何使用它的人都可以摆脱这个问题。
  • 对于 Visual Studio 2022,该文件现在位于:C:\Program Files\Microsoft Visual Studio\2022\\Common7\IDE\Extensions\Microsoft\Web Tools\Languages\Schemas \CSS\1033\css-vendor-ms.xml
【解决方案2】:

对于 Resharper 用户,需要编辑 css-vendor-ms.xml,但不能完全解决问题。 Resharper 将继续突出显示 ::deep 元素作为解决方案中的错误。这是currently a known bug,希望在未来的版本中得到解决。

作为一种解决方法,请转到 Resharper 选项 --> 代码检查 --> 检查严重性 --> CSS --> 潜在代码质量问题 --> 未知 CSS 符号,然后将严重性降至警告(或更低)。

【讨论】:

    猜你喜欢
    • 2011-03-31
    • 2019-10-22
    • 2014-12-19
    • 2021-12-27
    • 1970-01-01
    • 1970-01-01
    • 2011-12-28
    • 2023-04-03
    相关资源
    最近更新 更多