Escludere lo spazio dei nomi completo dall'analisi del codice FxCop?

StackOverflow https://stackoverflow.com/questions/353110

  •  20-08-2019
  •  | 
  •  

Domanda

È possibile escludere uno spazio dei nomi completo da tutte le analisi di FxCop mentre si analizza ancora il resto dell'assembly usando SuppressMessageAttribute?

Nel mio caso attuale, ho un sacco di classi generate da LINQ to SQL che causano molti problemi di FxCop e, ovviamente, non modificherò tutte quelle per adattarle agli standard FxCop, poiché molte di queste modifiche sarebbero andato se ho rigenerato le classi.

So che FxCop ha un'opzione di progetto per sopprimere l'analisi sul codice generato, ma non sembra riconoscere l'entità e le classi di contesto create da LINQ 2 SQL come codice generato.

È stato utile?

Soluzione

Se tagghi le tue classi con l'attributo [GeneratedCode], puoi usare il flag / ignoregeneratedcode con FxCop come descritto in questo post MSDN:

FAQ: Come posso impedire a FxCop di generare avvisi contro il codice generato

Potrebbe essere necessario aggiungere un nuovo file di codice e implementare lì nuove classi parziali per aggiungere l'attributo alle classi:

[GeneratedCode]
public partial class MainDataContext { }

Assicurati di aggiungere tutto allo spazio dei nomi corretto quando crei il tuo nuovo file.

Altri suggerimenti

Aggiungi un [GeneratedCode] attribute alle classi.
MODIFICA : intendevo lezioni parziali con gli stessi nomi, come spiegato dall'altra risposta.

Usa l'attributo del codice generato, ecco post di blog del team di analisi del codice sull'argomento.

Questo nella parte superiore dello spazio dei nomi dovrebbe fare il trucco:

[GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.0.0.0")]
<Assembly: SuppressMessage("Microsoft.Design", _
    "CA1020:AvoidNamespacesWithFewTypes", _
    Scope:="namespace", _
    Target:="Missico.IO")> 

Inserisci l'istruzione in GlobalSuppressions.vb alla radice del progetto.

Tutto quello che ho è un esempio VB.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top