2009-10-08 19 views
6

Eventuali duplicati:
Tools for finding unused referencesC'è un modo semplice per trovare riferimenti di assembly non utilizzati nel mio progetto .NET?

Ho ereditato un progetto brownfield e sono nel processo di refactoring del codice per supportare i nuovi requisiti. Il numero di riferimenti all'assembly è cresciuto considerevolmente nel tempo e vorrei sapere se alcuni riferimenti non vengono più utilizzati. Qual è l'approccio migliore a questo oltre a eliminare il riferimento e provare a ricompilare il codice.

+0

possibile duplicato? http://stackoverflow.com/questions/81597/remove-unused-references-using-visual-studio –

+0

Dupe: http://stackoverflow.com/questions/142627/tools-for-finding-unused-references –

risposta

4

Si può fare questo con Resharper by JetBrains.

Basta fare clic con il pulsante destro su un riferimento e scegliere "Trova codice dipendente". Cerca nel progetto e ti dice esattamente cosa fa riferimento a un assieme.

+0

Questo è la strada da percorrere per i progetti "normali", ma per quanto riguarda i progetti web non si dispone di una cartella Riferimenti in Esplora soluzioni? – mbx

1

Suggerirei di verificare NDepend. Ti dà non solo un'idea per quali assiemi fanno riferimento ad altri assiemi, ma anche un elenco di dipendenze tra di loro.

+0

Dove si trova questo in NDepdend? Ho cercato prima, ma non vedo qualcosa che ti dirà in particolare se una dipendenza da un assembly specifico può essere specificata in CQL. –

+0

Hai diverse scelta vedere asm non utilizzato Utilizzare il Dependency Graph (vedi box che non ha freccia in entrata) Utilizzare la dipendenza Matrix (vedi quale riga è vuota) Uso CQL: SELECT assemblaggi dove AsmCa == 0 questa query restituirà assembly senza utente. Btw, avere molti assiemi è una brutta cosa: http://codebetter.com/blogs/patricksmacchia/archive/2008/12/08/advices-on-partitioning-code-through-net-assemblies.aspx –

0

ReSharper suggerisce di aggiungere i riferimenti se è stato utilizzato classi formano dll che non fa riferimento, è possibile eliminare tutti i riferimenti e aggiungere di nuovo da ReSharper

0

Interessante, i progetti VB.NET hanno un'opzione che lo farà, C# no (che ho trovato). Il resharper ti consentirà di fare clic con il pulsante destro del mouse su un riferimento e su "Trova codice dipendente".

Problemi correlati