* Nota: vedere http://www.jetbrains.net/devnet/message/5244658 per un'altra versione di questa risposta.
Leggendo i post, sembra che ci sia un po 'di confusione sulla domanda originale. Fammi provare.
Il post originale pone davvero la domanda: "Come faccio a identificare e rimuovere i riferimenti da un progetto di Visual Studio ad altri progetti / assembly che non sono in uso?" Il poster desidera che gli assembly non vengano più visualizzati come parte dell'output di compilazione.
In questo caso, ReSharper può aiutarti a identificarli , ma devi rimuoverli tu stesso.
Per fare ciò, apri il browser dei riferimenti nel browser della soluzione, fai clic con il pulsante destro del mouse su ogni assembly a cui fa riferimento e seleziona "Trova codice dipendente". Vedere:
http://www.jetbrains.com/resharper/features/navigation_search.html#Find_ReferencedDependent_Code
Otterrai:
Un elenco delle dipendenze da quel riferimento in una finestra del browser, o
Una finestra di dialogo che dice "Il codice dipendente dal modulo XXXXXXX non è stato trovato.".
Se ottieni il secondo risultato, puoi quindi fare clic con il pulsante destro del mouse sul Riferimento, selezionare Rimuovi e rimuoverlo dal tuo progetto.
Anche se devi farlo "manualmente", cioè un riferimento alla volta, porterà a termine il lavoro. Se qualcuno lo ha automatizzato in qualche modo, mi interessa sapere come è stato fatto.
Puoi praticamente ignorare quelli in .Net Framework poiché normalmente non vengono copiati nell'output della build (in genere, sebbene non necessariamente vero per le app Silverlight).
Alcuni post sembrano rispondere alla domanda: "Come rimuovo le clausole using (C #) da un file di codice sorgente che non sono necessarie per risolvere i riferimenti all'interno di quel file".
In questo caso, ReSharper aiuta in un paio di modi:
Identifica le clausole using inutilizzate durante il rilevamento degli errori al volo. Appaiono come avvisi di ispezione del codice: il codice apparirà in grigio (impostazione predefinita) nel file e ReSharper fornirà un suggerimento per rimuoverlo:
http://www.jetbrains.com/resharper/features/code_analysis.html#On-the-fly_Error_Detection
Consente di rimuoverli automaticamente come parte del processo di pulizia del codice:
http://www.jetbrains.com/resharper/features/code_formatting.html#Optimizing_Namespace_Import_Directives
Infine, renditi conto che ReSharper esegue l'analisi statica del codice sulla tua soluzione. Quindi, se si dispone di un riferimento dinamico all'assembly, ad esempio tramite la reflection o un assembly caricato dinamicamente in fase di esecuzione e accessibile tramite un'interfaccia, non verrà rilevato. Non c'è nulla che possa sostituire la comprensione del codice di base e delle dipendenze del progetto mentre lavori al tuo progetto. Trovo molto utili le funzionalità di ReSharper.