How to suppress code analysis on generated code?

Problembär picture Problembär · Nov 12, 2010 · Viewed 10k times · Source

I have a Silverlight project with a generated Reference.cs file where the service reference is in. The class is attributed with [GeneratedCode] and in the project configuration the code analysis on generated code is disabled (Release and Debug).

What have I done wrong?

Answer

Jader Dias picture Jader Dias · Jan 4, 2011

Maybe you should try the solutions that works for StyleCop:

1) Put ".Designer.cs" to the end of the name of the file you don’t want StyleCop to check. Or call the the class, and the file containing it, "NativeMethods". Make sure you also uncheck "Analyze designer files" in StyleCop settings. In this case the whole file will be bypassed. You don’t have to do so for some types of Microsoft designer-generated code, like Windows Forms Designer, because they automatically fall under conditions of the following option:

2) Surround the undesired piece of code with a C# region containing "generated code" in its name. StyleCop does not check generated code by default (make sure the "Analyze generated files" setting is not checked, though). In this case you can still validate the names of the fields generated for the Windows Forms controls.

#region Windows Form Designer generated code

...

#endregion

3) To ignore the whole generated file, check whether your generator puts an "" XML element into the StyleCop-conform file header, like the following:

// <auto-generated />

4) And finally, you can set to true the "ExcludeFromSourceAnalysis" property of the MSBuild Compile item that represents the file needed to be excluded from analysis. It only works if you use the provided "Microsoft.SourceAnalysis.Targets" targets file, otherwise you have to feed the StyleCop MSBuild task with desired source files on your own.

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