5

Ieri ho inviato una domanda qui (FxCop and Code Analysis Rules) su come ottenere FxCop per eseguire le stesse regole dell'analisi del codice e ho pensato che fosse stato risolto.Come ottenere FxCop con lo stesso insieme di regole di Visual Studio Code Analysis?

Tuttavia sembra che non ci sia un modo reale per far sì che FxCop esegua lo stesso set di regole come l'analisi del codice di Visual Studio 2010. Ad esempio, una volta che ho ottenuto tutto ciò che funziona con il mio setup FxCopCmd, ho iniziato ad abbaiare su regole denotate nel set di regole Minimum Recommended Rules come CA2000. Se rimuovo le regole che non mi piace, esegue l'analisi e tutto sembra a posto. . . tranne che in realtà non sta eseguendo lo stesso set di regole!

Questo mi sembra un po 'strano! È comunque possibile che FxCop analizzi esattamente lo stesso insieme di regole con cui analizzare l'analisi del codice di Visual Studio? C'è un .dll da aggiungere alle regole da analizzare per ottenere le regole come CA2000 e altre?

risposta

3

VS Code Analysis include alcune regole che non sono incluse con FxCop stand-alone. È necessario assicurarsi che gli assembly di regole aggiuntivi siano disponibili per fxcopcmd.exe. Il modo più semplice per farlo è sostituire il contenuto della cartella FxCop di build-source con quelli dall'installazione di Visual Studio poiché uno degli assembly di regole (DataflowRules.dll) utilizza un motore di analisi che non è incluso con FxCop standalone o, e questo dipende da una serie di altri assembly che sono anche inclusi nella cartella FxCop sotto la gerarchia della cartella di installazione VS.

+0

Questo è quello che stavo pensando, ma quando cambio da chiamata FxCop da "C: \ Programmi (x86) \ Microsoft Fxcop 10.0 \ FxCopCmd.exe" a "C: \ Programmi (x86) \ Microsoft Visual Studio 10.0 \ Strumenti del team \ Strumenti di analisi statica \ FxCop \ FxCopCmd.exe "continua a soffocare le regole aggiuntive. Sento che dovrebbe fare il trucco, giusto? – Chris

+0

Ho capito il mio problema, il mio file di progetto FxCop non si riferiva a tutte le DLL delle regole. Ho aggiunto i riferimenti dll in e tutto ha funzionato come previsto. – Chris

Problemi correlati