2010-11-12 40 views
10

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

我做错了什么?

+0

相关:http://stackoverflow.com/questions/1590238/how-to-configure-stylecop-to-suppress-warnings-on-generated-code – 2011-01-04 10:54:27

回答

11

也许你应该尝试的工作StyleCop的解决方案:

1)把“了.Designer.cs”到文件名的末尾,你不想了StyleCop检查。或者调用该类以及包含它的文件“NativeMethods”。确保您还取消选中StyleCop设置中的“分析设计器文件”。在这种情况下,整个文件将被绕过。您不必为某些类型的Microsoft设计器生成的代码(如Windows窗体设计器)执行此操作,因为它们会自动落入以下选项的条件下:

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

#region Windows Form Designer generated code

...

#endregion

3)要忽略整个生成的文件,检查发电机是否把一个 “” XML元素融入了StyleCop,符合文件头,如下所示:

// <auto-generated />

4)最后,您可以将MSBuild编译项目的“ExcludeFromSourceAnalysis”属性设置为true,以表示需要从分析中排除的文件。它只适用于使用提供的“Microsoft.SourceAnalysis.Targets”目标文件,否则您必须自己将StyleCop MSBuild任务与所需的源文件一起提供。

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

+1

我试图选项3,自动生成的标记被忽略 - 我添加了一个关于此问题:http://stackoverflow.com/questions/5027889/excclude-file-from-stylecop-analysis-auto-generated-tag-is-ignored – 2011-02-17 10:49:44

+3

代码分析(以前的FxCop)与StyleCop不一样,也许Cop的东西太混乱了 – 2012-01-13 22:52:22

相关问题