在C#文件的开头,我添加了:
//-----------------------------------------------------------------------
// <copyright company="SomeCompany" file="MyFile.cs">
// Copyright © Some Company, 2011
// </copyright>
// <auto-generated />
//-----------------------------------------------------------------------
我希望StyleCop跳过检查此文件,因此我使用了other answers中解释的auto-generated
技巧。
但是,在清理并重建我的解决方案后,StyleCop会不断为此文件生成警告。为什么会这样?如何解决?
我使用的是Microsoft Visual Studio 2008专业版和StyleCop v4.3。
答案 0 :(得分:22)
@Frédéric - 遗憾的是,Analyze generated files
选项与以<auto-generated />
标记跳过文件无关联。
无论设置的值如何,都将跳过包含<auto-generated />
文本的文件。
@Daniel - 我相信你会处理一年多前发布的版本4.3中的错误,现在肯定已经过时了。使用4.3的唯一原因仅在于您使用StyleCop 4.4不支持的Visual Studio 2005。
我强烈建议您升级到4.4 - 我刚检查了您的示例,它运行正常。
答案 1 :(得分:2)
您可以在Settings.StyleCop
文件中设置文件排除。该文件位于您的解决方案/项目或StyleCop安装目录中。
然后,您可以在Parser
设置中使用正则表达式来定义要忽略的文件
<Parsers>
<Parser ParserId="Microsoft.StyleCop.CSharp.CsParser">
<ParserSettings>
<BooleanProperty Name="AnalyzeDesignerFiles">False</BooleanProperty>
<CollectionProperty Name="GeneratedFileFilters">
<Value>\.g\.cs$</Value>
<Value>\.generated\.cs$</Value>
<Value>\.g\.i\.cs$</Value>
<Value>codegen.*\.cs$</Value>
</CollectionProperty>
</ParserSettings>
</Parser>
</Parsers>
在这种情况下,我想忽略codegen.whatever.cs
答案 2 :(得分:0)
检查StyleCop documentation。我最喜欢的是文档顶部的<auto-generated />
标记,或者您可以使用#region指令或文档中提到的其他选项。