【问题标题】:How to suppress a StyleCop warning of entire namespace files如何抑制整个命名空间文件的 StyleCop 警告
【发布时间】:2012-11-30 08:34:23
【问题描述】:

我使用的是 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 {}
}

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

感谢您的宝贵时间!

【问题讨论】:

    标签: c# stylecop


    【解决方案1】:

    SuppressMessage 指令将只处理当前文件(请参阅this stylecop issue 中的 cmets)。

    您可以通过file lists 实现您想要的,尽管如果您只想应用此排除的几个文件,这将最有效。如果您希望将其应用于特定项目中的所有文件,那么最简单的方法可能是通过前面提到的设置对话框简单地修改设置。

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】: