Eseguiamo analisi del codice su tutti i nostri file sorgente. Uno dei nostri file sorgente è un file generato da Linq a SQL, che non abbiamo alcun controllo sull'output generato. Il codice generato sta producendo avvertenze sull'analisi del codice che vorrei eliminare. Esiste un modo per sopprimere gli avvertimenti della CA in un file generato dal codice che non implichi la creazione di attributi e/o pragma nel codice stesso (che verrà sovrascritto ogni volta che viene generato il file)?Analisi del codice su un file generato dal generatore di codice - Come eliminare gli avvertimenti?
Analisi del codice su un file generato dal generatore di codice - Come eliminare gli avvertimenti?
risposta
Le classi hanno l'attributo [GeneratedCode]? Se così è possibile ottenere FxCop a ignorarli:
Utilizzando un progetto FxCop:
- Aprire il progetto FxCop in FxCop
- Scegliere Project -> Opzioni -> Ortografia & Analisi
- Controllare Soppressione dei risultati dell'analisi rispetto al codice generato
- Fare clic su OK
Via la linea di comando:
- Far passare l'opzione/ignoregeneratedcode, ad esempio:
FxCopCmd.exe /file:MyAssembly.dll /out:AnalysisResults.xml /ignoregeneratedcode
Se si utilizza l'interfaccia grafica FxCop si potrebbe semplicemente escludere questi problemi all'interno del progetto FxCop. Basta fare clic con il tasto destro del mouse sul problema e selezionare Escludi dove è possibile aggiungere un commento.
Ma se si esegue FxCop nella finestra di output, non ne ho la minima idea. Forse potresti controllare se è possibile creare un SuppressMessage a livello di modulo e incollarlo in AssemblyInfo.cs. Ma io non la penso così.
c'è un'altra risposta in una domanda correlata qui su SO che indica che è possibile aggiungere la soppressione a livello di modulo a assemblyinfo.cs, ma l'ho appena provato e non ho potuto farlo funzionare. Potrei aggiungere SuppressMessage a ogni singolo metodo, ma questo è un dolore totale al collo quando voglio ignorare l'errore per ogni cosa in un particolare assemblaggio. Spero che qualcuno risponda con una soluzione a questo !!! – Dave
È possibile aggirare la mancanza dell'attributo GeneratedCode
utilizzando il proprio ramo delle classi parziali per applicare tale attributo. Ciò significa che qualsiasi codice personalizzato aggiunto (compresi i metodi di implementazione parziale) sarà escluso. Es .:
namespace MyApp.DB {
[GeneratedCode("LINQ To SQL", "4.0")]
internal partial class MyAppDataContext {
}
// Repeat for each entity
}
Il PLINQO (Linq-to-SQL) CodeSmith templates genera anche questo attributo automaticamente. Molti componenti aggiuntivi iniziano anche a ignorare le classi parziali generate con ".generated" nel nome del file.
[System.CodeDom.Compiler.GeneratedCode ("CodeSmith", "5.0.0.0")]
- 1. Come configurare StyleCop per sopprimere gli avvertimenti sul codice generato?
- 2. Sovrascrittura del costruttore DbContext generato dal codice
- 3. Analisi del codice in F #
- 4. Generatore di codice Python
- 5. Contratti di codice + analisi del codice
- 6. Analisi codice PyDev mancante
- 7. Copertura del codice, analisi e profilazione per il codice generato dinamicamente
- 8. Come sopprimere l'analisi del codice sul codice generato?
- 9. avviso di soppressione per codice C# generato
- 10. Codice file risorse non generato
- 11. Analisi veloce dei file di codice
- 12. Come disattivare un avviso di analisi del codice statico su un avviso riga per riga in CDT (codice C)?
- 13. Disabilita avvisi di analisi del codice .NET
- 14. Controllo del codice generato implicitamente dal compilatore C++
- 15. analisi del codice CA1060 Fix
- 16. Strumenti di analisi del codice C++
- 17. Soppressione di analisi del codice Errori applicazione
- 18. Strumenti di analisi del codice statico
- 19. FxCop e regole di analisi del codice
- 20. C'è un modo per eliminare FindBugs dalla generazione di avvisi sul codice generato dalla tessitura statica?
- 21. Analisi del codice Javascript e best practice
- 22. Analisi codice VS2011
- 23. SBT genera codice utilizzando il generatore definito dal progetto
- 24. Analisi del codice statico in Python?
- 25. Analisi del codice Python da Python?
- 26. Come ignorare il codice generato dai dati di copertura del codice
- 27. analisi del codice comportamento regola CA1062
- 28. Codice pre-generato Xcode
- 29. PyDev analisi del codice non funziona in Aptana Studio
- 30. MSBuild file per eseguire analisi del codice senza sovrapposizione
fa SuppressMessage funziona se chiamo a fxcopcmd.exe utilizzando riga di comando? – Kiquenet
Sì, dovrebbe fare – Paolo