Recentemente ho iniziato a utilizzare l'analisi del codice sui miei progetti in Visual Studio. Ho creato un set di regole personalizzato da utilizzare con tutti i miei progetti che includono due dei set di regole definiti da Microsoft. Ho lavorato per integrare FxCop nel processo di compilazione degli elementi di configurazione in fail build che non passano tutte le regole. Ciò che è veramente strano per me è che non posso usare il mio set di regole per definire quali regole FxCop esegue la scansione del codice. Come faccio a fare in modo che le regole di Code Analysis di Visual Studio corrispondano alle regole di FxCop?FxCop e regole di analisi del codice
risposta
Hai già un file di regole che presumo tu abbia capito come integrare nei tuoi progetti e utilizzare tramite Visual Studio.
È possibile utilizzare questo stesso file set di regole in FxCopCmd.exe
:
FxCopCmd.exe /out:Violations.xml /ruleset:=Custom.ruleset /file:MyAssembly.dll
Ho fatto questo utilizzando Jenkins e funziona bene. Esegui FxCopCmd.exe
senza argomenti e dovresti vedere le descrizioni di tutte le opzioni della riga di comando disponibili.
Molto strano, ho avuto un sacco di problemi nel trovare la documentazione per l'opzione/ruleset ma ha funzionato. Per fortuna, mi mancava qualcosa :-). – Chris
Puoi fare un esempio per la sintassi del file ruleset. Non ho avuto molta fortuna a farlo funzionare. – mikelong
@mikelong: la sintassi per l'utilizzo dei file delle serie di regole è visualizzata nella mia risposta. Qual è in particolare il tuo problema? – Bernard
Per la nostra build CI abbiamo una configurazione di build speciale (oltre a Debug e Release standard) che include l'analisi del codice in esecuzione ("RunCodeAnalysis" MSBuild come ricordo) e l'opzione "Trattare avviso come errore". Quindi la compilazione fallisce se abbiamo un errore FxCop e usa la stessa serie di regole di VS. In questo modo non è necessario utilizzare FxCopCmd e condividere i set di regole. Ma devi aggiungere manualmente questa configurazione di build a ogni progetto della tua soluzione.
- 1. Creazione personalizzata di analisi del codice XAML regole per
- 2. ignorare le regole di analisi del codice in Visual Studio
- 3. Analisi di avviso Analisi FxCop/Code CA1506: AvoidExcessiveClassCoupling
- 4. SQL Server - Regole di analisi schema/codice - Quali sono le regole incluse?
- 5. Analisi del codice Javascript e best practice
- 6. Contratti di codice + analisi del codice
- 7. Le regole StyleCop e FxCop si escludono a vicenda
- 8. analisi del codice CA1060 Fix
- 9. Analisi del codice in F #
- 10. Come si esegue il debug delle regole personalizzate Analisi del codice?
- 11. Regola di analisi del codice CA2213 e proprietà auto-implementate
- 12. Come condividere le regole FxCop tra tutti gli sviluppatori?
- 13. Devo usare FxCop e perché?
- 14. Aggiungi set di regole di analisi del codice tramite il pacchetto nuget
- 15. Visual Studio Code Analysis vs StyleCop + FxCop
- 16. Impossibile eseguire le regole FxCop con MSBuild SonarQube Runner
- 17. Strumenti di analisi del codice C++
- 18. Disabilita avvisi di analisi del codice .NET
- 19. Strumenti di analisi del codice statico
- 20. Soppressione di analisi del codice Errori applicazione
- 21. Nidificato utilizzando istruzioni e codice Microsoft Analisi
- 22. Come ottenere FxCop con lo stesso insieme di regole di Visual Studio Code Analysis?
- 23. Utilizzo di FXCop nel progetto
- 24. Disabilita modifica regole e regole interne dall'interno del file make
- 25. Analisi del codice Python da Python?
- 26. Analisi del codice dinamico per C++
- 27. analisi del codice statico per linguaggio assembly
- 28. Come si inizia con FxCop sul codice legacy?
- 29. analisi del codice comportamento regola CA1062
- 30. Le regole personalizzate FxCop non hanno un nome in VS2012 (ma le regole "ufficiali" hanno un nome)
Mi manca completamente qualcosa o non c'è davvero alcun modo per condividere le stesse regole in FxCop standalone e Code Analysis in Visual Studio? !!!! – Chris
Sembra che manchi qualcosa. Come stai tentando di eseguire FxCop dal tuo build CI? –
Lo sto usando usando TeamCity, che esegue FxCopCmd.exe. Ho un file di progetto FxCop che elenca gli obiettivi e le regole di elenchi FxCop standalone ma non sembra essere un modo semplice per condividere le stesse regole che Code Analysis è impostata per l'utilizzo in Visual Studio. Tutto funziona, non sembra proprio esserci un modo per condividere regole tra FxCop standalone e Analisi del codice in VS2010. – Chris