25

在 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。

4

3 回答 3

24

@Frédéric - 不幸的Analyze generated files是,选项与跳过带有<auto-generated />标签的文件没有某种联系。

<auto-generated />无论设置的值如何,都将始终跳过包含文本的文件。

@Daniel - 我相信您处理的是 4.3 版中的一个错误,该错误已于一年多前发布,现在肯定已过时。使用 4.3 的唯一原因是您使用 Visual Studio 2005,StyleCop 4.4 不支持它。

我强烈建议您升级到 4.4 - 我刚刚检查了您的示例,它工作正常。

于 2011-02-17T11:25:51.033 回答
3

您可以在文件中设置文件排除项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

于 2017-03-06T14:19:23.127 回答
1

检查StyleCop 文档。我最喜欢的是<auto-generated />文档顶部的标签,或者您可以使用 #region 指令或文档中提到的其他选项。

于 2015-08-14T11:59:27.617 回答