2015-06-26 103 views

回答

10

目前沒有辦法明確說「不要在生成的代碼上運行我的分析器」。你必須手動處理。

我相信使用的啓發式如下。 (我從喬瓦尼·巴斯的的Code Cracker作者之一這個列表)生成的文件自動如果任何滿足以下條件:

它具有以下屬性之一:

  • DebuggerNonUserCodeAttribute
  • GeneratedCodeAttribute

文件路徑包含:

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

頁眉註釋包含:

  • <auto-generated>

守則裂解項目有許多擴展方法,用於檢測生成的文件。檢出GeneratedCodeAnalysisExtensions

+3

這意味着只有生成的具有該模式的文件才被排除。如果我們可以排除像resharper那樣的任何文件,那將會很好。此外,有一個屬性會很有趣,比如[ExcludeFromCodeAnalysis]跳過分析。 – Mantzas

+3

剛剛在github的roslyn倉庫中打開了一個問題。 #3705 – Mantzas