2012-11-22 4 views
5

Sto cercando un modo per trovare una categoria SuppressMessageAttribute per un dato avviso (BC42015)..Net Come trovare la categoria SuppressMessageAttribute per un determinato avviso (BC42015)

Dopo aver ricevuto il seguente avviso, desidero sopprimerlo.

'SomeLib.SomeInterface.DrawRuler' is already implemented by the base class 'SomeLib.SomeClass'. Re-implementation of function assumed. C:\Project\somefile.vb 5 115 ALibName 

Utilizzando l'attributo SuppressMessage dovrebbe funzionare ma come posso trovare la Catagory rilevante. Quanto segue non funzionerà.

<CodeAnalysis.SuppressMessageAttribute("IDUNNO","BC42015")> 

Tutti gli esempi di MSDN sono piuttosto inutili. In Source Suppression Overview

Categoria di regole: la categoria in cui è definita la regola. Per ulteriori informazioni sulle categorie di regole di analisi del codice, vedere alcuni collegamenti inutili.

+0

Ci sono un paio di risposte che, in particolare, non rispondono alla tua domanda - perché è senza risposta. Se avessi chiesto alla domanda più semplice ("Come posso sopprimere questo specifico messaggio di avviso?"), Avresti comunque una risposta negativa. –

+0

@Damien_The_Unbeliever Hai perfettamente ragione. Tuttavia è davvero fastidioso che non sia possibile disattivare gli avvisi di Visual Studio a proprio piacimento. – CodingBarfield

risposta

4

Il modo generale per scoprire la categoria per un avvertimento analisi del codice, per l'uso in l'attributo SuppressMessageAttribute sarebbe quella di consultare la documentazione per l'avvertimento.

Per esempio, per CA1039, otteniamo:

TypeName   ListsAreStronglyTyped 

CheckId    CA1039 

Category   Microsoft.Design 

Breaking Change  Breaking 

Ora, per BC42015 non troviamo tali informazioni. Perché? Perché è non un avviso di analisi del codice. È un avviso compilatore (si noti che siamo in una parte completamente diversa della libreria MSDN).

Per quanto ne so, non esiste un modo locale per ignorare gli avvisi del compilatore in VB: tutto ciò che si può fare è disabilitare l'avviso allo project level (ma lo ammetto, questo non è quasi mai quello che si vuole fare).

0

In VS2010, si può semplicemente fare clic destro sul messaggio nella lista degli errori e selezionare "Elimina messaggio (s)" Hai la possibilità di sopprimere in fonte o nel file di soppressione progetto globale.

È possibile osservare la soppressione generata, vedere cosa ha fatto.

Problemi correlati