【问题标题】:How to suppress code analysis on generated code?如何抑制对生成代码的代码分析?
【发布时间】:2011-05-09 01:45:41
【问题描述】:

我有一个 Silverlight 项目,其中包含服务引用所在的生成的 Reference.cs 文件。该类使用 [GeneratedCode] 属性,并且在项目配置中禁用了对生成代码的代码分析(发布和调试)。

我做错了什么?

【问题讨论】:

标签: c# silverlight visual-studio-2010 analysis


【解决方案1】:

也许您应该尝试适用于 StyleCop 的解决方案:

  1. 将“.Designer.cs”放在您不想让 StyleCop 检查的文件的名称末尾。或者调用 [sic] 类和包含它的文件“NativeMethods”。确保您还取消选中 StyleCop 设置中的“分析设计器文件”。在这种情况下,整个文件将被绕过。对于某些类型的 Microsoft 设计器生成的代码(例如 Windows 窗体设计器),您不必这样做,因为它们自动属于以下选项的条件:

  2. 用名称中包含“生成的代码”的 C# 区域围绕不需要的代码段。 StyleCop 默认不检查生成的代码(但请确保未选中“分析生成的文件”设置)。在这种情况下,您仍然可以验证为 Windows 窗体控件生成的字段的名称。

#region Windows Form Designer generated code
    ...
#endregion
  1. 要忽略整个生成的文件,请检查您的生成器是否将“<auto-generated />”XML 元素放入符合 StyleCop 的文件头中,如下所示:
// <auto-generated />
  1. 最后,您可以将 MSBuild 编译项的“ExcludeFromSourceAnalysis”属性设置为 true,该属性表示需要从分析中排除的文件。它仅在您使用提供的“Microsoft.SourceAnalysis.Targets”目标文件时才有效,否则您必须自己为 StyleCop MSBuild 任务提供所需的源文件。

来源:https://shishkin.wordpress.com/2008/07/08/stylecop-how-to-ignore-generated-code/

【讨论】:

  • 我尝试了选项 3,但自动生成的标签被忽略了 - 我添加了一个关于此的问题:stackoverflow.com/questions/5027889/…
  • 代码分析(原FxCop)和StyleCop不一样,可能Cop的东西太混乱了
猜你喜欢
  • 1970-01-01
  • 2014-03-10
  • 1970-01-01
  • 1970-01-01
  • 2010-10-22
  • 1970-01-01
  • 2012-03-19
  • 2011-02-11
  • 2013-05-31
相关资源
最近更新 更多