抑制来自 Roslyn 代码分析器的问题

Suppressing issues from Roslyn code Analyzers

有什么方法可以抑制 Roslyn 分析器的问题吗?我使用即时分析器项目类型。如果用户需要,我想抑制这些问题。它还必须是永久性的。如果我重新打开 Visual Studio,仍然必须应用相同的抑制规则。

您可以忽略来自 Roslyn 分析器的 warnings/errors,其方式与忽略普通 C# 编译器警告的方式完全相同:

在 Visual Studio 2017 中,您可以在项目属性中禁用 Roslyn 警告(如 IDE0002、IDE0003 等):

如果需要,您可以直接编辑 csproj 文件:

  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
    <NoWarn>IDE0002;1701;1702;1705</NoWarn>
  </PropertyGroup>

如您所见,您需要使用 IDE 前缀编写它(正如 Roslyn 所报告的那样)。您必须为每个构建配置执行此操作(或创建没有 Condition 的新组)。 我认为对整个项目禁用它是最快和最清楚的方法。

Pragma 的工作方式有点不同,很可能是由于 VS 中的错误(所以我想它可以稍后更改)。
例如 #pragma warning disable IDE0002 不会显示 Roslyn 消息,但它仍会突出显示代码(更灰)。