15

我正在使用 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 {}
}

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

谢谢你的时间!

4

2 回答 2

9

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

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

菜单项

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

取消选中此项

于 2012-12-12T21:09:02.087 回答
2

SuppressMessage指令将仅处理当前文件(请参阅此 stylecop 问题中的评论)。

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

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

于 2012-12-13T01:42:35.290 回答