我正在使用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 {}
}
我不想为同一命名空间的每个物理文件描述抑制消息属性。有什么想法吗?
感谢您的时间!
答案 0 :(得分:8)
我认为最好只禁用StyleCop设置文件中的文档规则。
只需从项目上下文菜单中打开设置对话框。
然后取消选中“文档规则”复选框。
答案 1 :(得分:2)
SuppressMessage
指令仅处理当前文件(请参阅this stylecop issue中的注释)。
您可以通过file lists实现您想要的效果,但如果只有少数文件要应用此排除项,则效果最佳。如果您希望将其应用于特定项目中的所有文件,则最简单的方法可能是通过设置对话框简单地修改设置,如上所述。
或者,您可以将所有与命名空间相关的文件放入单独的文件夹中,并在该文件夹中包含一个自定义设置文件,以从这些特定文件中排除这些规则。