Excluding a file from the roslyn analyzers

3k views Asked by At

Since we have a lot of generated code, some roslyn analyzers go crazy about this code. Is there any way to exclude some files from analyzers?

1

There are 1 answers

2
JoshVarty On BEST ANSWER

There is currently no way to explicitly say "don't run my analyzer on generated code". You have to handle this manually.

I believe the heuristics used are as follows. (I took this list from Giovanni Bassi, one of the authors of Code Cracker) A file is auto generated if any of the following conditions are met:

It has one of these attributes:

  • DebuggerNonUserCodeAttribute
  • GeneratedCodeAttribute

The file path contains:

  • *.g.cs
  • *.designer.cs
  • *.AssemblyInfo.cs
  • *.generated.cs
  • *.g.cs
  • *.g.i.cs
  • *.AssemblyAttributes.cs
  • TemporaryGeneratedFile_*.cs

A header comment contains:

  • <auto-generated>

The Code Cracker project has a number of extension methods for detecting generated files. Check out GeneratedCodeAnalysisExtensions