如何为 .NET Standard Class 库指定 Suppress Message Attribute. Check Id?

How to specify Suppress​Message​Attribute.​Check​Id for .NET Standard Class Library?

我正在 VS2017 上编写 .NET Standard 2.0 Class 库。在错误列表中,我收到了一些消息,例如:

IDE0018 Variable declaration can be inlined

我可以抑制警告 via the context menu

它在我的项目中创建了一个GlobalSuppressions.cs

using System.Diagnostics.CodeAnalysis;
[assembly: SuppressMessage("Style", "IDE1006:Naming Styles", Justification = "<Pending>", Scope = "member", Target = "~M:SomeType.SomeMethod()~System.Int32")]

我想抑制所有像IDE1006这样的消息,所以我将其修改为

using System.Diagnostics.CodeAnalysis;
[assembly: SuppressMessage("Style", "IDE1006:Naming Styles")]

现在想手动压制IDE1008等,不知道IDE1008的标准描述是什么。 [assembly: SuppressMessage("Style", "IDE1008:???")]

我可以在 Analyzing Application Quality by Using Code Analysis Tools.

中找到一些 CA1234 警告定义

所以我的问题是:IDE 消息的定义在哪里,例如 IDE1234?

我没有找到 IDE 消息的定义列表,但您不需要样式的标准描述来抑制它。

你可以这样做:

[assembly: SuppressMessage("Style", "IDE1008")]

可能是最有用的,但我想直接回答问题:

So my question is: where are the definitions of IDE messages like IDE1234?

之前可能不是这样,但您可以在 MSDN (docs.microsoft.com) 上找到 IDE 消息的定义。对于您看到的特定错误消息 IDE0008

https://docs.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/ide0007-ide0008

页面包含生成属性所需的一切:

Rule ID: IDE0007 and IDE0008

Title: IDE0007: Use 'var' instead of explicit type IDE0008: Use explicit type instead of 'var'

Category: Style

我发现您通常可以将 IDE 数字放在末尾 (https://docs.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/ide0008),这样您就会被链接到正确的页面。