从roslyn分析器中排除文件

Man*_*zas 10 analyzer roslyn

由于我们有很多生成的代码,一些roslyn分析器对此代码感到疯狂.有没有办法从分析仪中排除一些文件?

Jos*_*rty 10

目前没有办法明确说"不要在生成的代码上运行我的分析器".您必须手动处理此问题.

我相信使用的启发式方法如下.(我从Code Cracker的作者之一Giovanni Bassi那里获取此列表)如果满足以下任何条件,则自动生成文件:

它具有以下属性之一:

  • DebuggerNonUserCodeAttribute
  • GeneratedCodeAttribute

文件路径包含:

  • *.g.cs
  • *了.Designer.cs
  • *.AssemblyInfo.cs
  • *.generated.cs
  • *.g.cs
  • *.gics
  • *.AssemblyAttributes.cs
  • TemporaryGeneratedFile _*.CS

标题注释包含:

  • <auto-generated>

Code Cracker项目有许多用于检测生成文件的扩展方法.查看GeneratedCodeAnalysisExtensions

  • 这意味着只排除了具有此模式的生成文件.如果我们可以排除像resharper那样的文件,那将会很好.此外,有一个属性,比如[ExcludeFromCodeAnalysis]来跳过分析会很有趣. (3认同)
  • 刚刚在github的roslyn存储库中打开了一个问题.#3705 (3认同)