如何配置StyleCop以在生成的代码上抑制警告?

6
另一个项目,Visual Studio的代码分析有这个选项。但是我在StyleCop(又名Source Analysis)中找不到它。
我想要忽略的文件是dbml的.designer.cs代码,其中包括//<autogenerated>标记。一篇博客文章告诉我这已经足够了,但在我的情况下并非如此。
1个回答

6

StyleCop:如何忽略生成的代码

编辑:这是我在ANTLR生成语法中使用的头文件。实际上,这是一个StringTemplate模板的主体,因此两个\>条目实际上只是转义的>标记。除了<auto-generated>标记和[GeneratedCode]属性之外,我们仍然需要禁用在代码分析期间出现的一些警告。

//------------------------------------------------------------------------------
// \<auto-generated>
//     This code was generated by a tool.
//     ANTLR Version: ANTLRVersion
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// \</auto-generated>
//------------------------------------------------------------------------------

// $ANTLR <ANTLRVersion> <fileName>

// The variable 'variable' is assigned but its value is never used.
#pragma warning disable 219
// Unreachable code detected.
#pragma warning disable 162
// Missing XML comment for publicly visible type or member 'Type_or_Member'
#pragma warning disable 1591
// CLS compliance checking will not be performed on 'type' because it is not visible from outside this assembly.
#pragma warning disable 3019
// 'type' does not need a CLSCompliant attribute because the assembly does not have a CLSCompliant attribute.
#pragma warning disable 3021

[System.CodeDom.Compiler.GeneratedCode("ANTLR", "<ANTLRVersion>")]
[System.CLSCompliant(false)]
public class ...

2
它在当前版本中不起作用。我不是唯一一个抱怨它的人,他们的错误跟踪器中还有更多的人。 - Jader Dias
-1:这不是问题:Jader没有问是否有其他选项可以忽略自动生成的代码,而是为什么它不按照“// <autogenerated>”的方式工作。我认为每个会使用谷歌的人都会先看到您链接的页面,但如果它不起作用,那也没有帮助。即使我的文件确实是自动生成的,并且标题已经由该软件设置,但它对我也不起作用。 - Sören
我在帖子里更新了一个代码示例。我注意到问题中引用的是<autogenerated>,而我的代码实际上使用的是<auto-generated>。也许这就是问题所在? - Sam Harwell

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接