如何抑制整个命名空间文件的StyleCop警告

时间:2012-12-12 15:33:33

标签: c# stylecop

我正在使用Style Cop版本4.7。全局抑制不适用于所选命名空间的每个成员。

我在同一名称空间中有两个文件(StyleCopSample.Test)。 当我在第一个文件中设置抑制消息时,消息仅抑制此文件,但第二个文件仍会收到警告。

第一个文件的内容:

[assembly: SuppressMessage("CSharp.DocumentationRules", "*", Scope = "Namespace", Target = "StyleCopSample.Test")]

namespace StyleCopSample.Test
{
  class TestFirst {}
}

第二个文件的内容:

namespace StyleCopSample.Test
{
  class TestSecond {}
}

我不想为同一命名空间的每个物理文件描述抑制消息属性。有什么想法吗?

感谢您的时间!

2 个答案:

答案 0 :(得分:8)

我认为最好只禁用StyleCop设置文件中的文档规则。

只需从项目上下文菜单中打开设置对话框。

Menu item

然后取消选中“文档规则”复选框。

uncheck this item

答案 1 :(得分:2)

SuppressMessage指令仅处理当前文件(请参阅this stylecop issue中的注释)。

您可以通过file lists实现您想要的效果,但如果只有少数文件要应用此排除项,则效果最佳。如果您希望将其应用于特定项目中的所有文件,则最简单的方法可能是通过设置对话框简单地修改设置,如上所述。

或者,您可以将所有与命名空间相关的文件放入单独的文件夹中,并在该文件夹中包含一个自定义设置文件,以从这些特定文件中排除这些规则。