从StyleCop分析中排除文件:“自动生成”标签被忽略

在C#文件的开头,我添加了:
//-----------------------------------------------------------------------
// <copyright company="SomeCompany" file="MyFile.cs">
// Copyright © Some Company, 2011
// </copyright>
// <auto-generated />
//-----------------------------------------------------------------------
我希望StyleCop跳过检查这个文件,所以我使用了其他答案中解释的
auto-generated
技巧。 但是,在清理并重建我的解决方案后,StyleCop会不断为此文件生成警告。为什么会这样?怎么修好? 我使用的是Microsoft Visual Studio 2008专业版和StyleCop v4.3。     
已邀请:
@Frédéric - 遗憾的是,
Analyze generated files
选项与使用
<auto-generated />
标签跳过文件无关。 无论设置的值如何,始终会跳过包含
<auto-generated />
文本的文件。 @Daniel - 我相信你会处理一年多前发布的版本4.3中的错误,现在肯定已经过时了。使用4.3的唯一原因仅在于您使用StyleCop 4.4不支持的Visual Studio 2005。 我强烈建议你升级到4.4 - 我刚检查了你的例子,它运行正常。     
您可以在
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
    
检查StyleCop文档。我最喜欢的是文档顶部的
<auto-generated />
标签,或者您可以使用#region指令或文档中提到的其他选项。     

要回复问题请先登录注册