抑制来自 Roslyn 代码分析器的问题
Suppressing issues from Roslyn code Analyzers
有什么方法可以抑制 Roslyn 分析器的问题吗?我使用即时分析器项目类型。如果用户需要,我想抑制这些问题。它还必须是永久性的。如果我重新打开 Visual Studio,仍然必须应用相同的抑制规则。
您可以忽略来自 Roslyn 分析器的 warnings/errors,其方式与忽略普通 C# 编译器警告的方式完全相同:
#pragma disable
在源代码中
- 项目属性/构建/错误和警告设置
[SuppressMessage]
attribute
在 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 消息,但它仍会突出显示代码(更灰)。
有什么方法可以抑制 Roslyn 分析器的问题吗?我使用即时分析器项目类型。如果用户需要,我想抑制这些问题。它还必须是永久性的。如果我重新打开 Visual Studio,仍然必须应用相同的抑制规则。
您可以忽略来自 Roslyn 分析器的 warnings/errors,其方式与忽略普通 C# 编译器警告的方式完全相同:
#pragma disable
在源代码中- 项目属性/构建/错误和警告设置
[SuppressMessage]
attribute
在 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 消息,但它仍会突出显示代码(更灰)。