Domanda

Come posso trovare e eliminare i riferimenti nei miei progetti?

So che è possibile rimuovere facilmente l'utilizzo di istruzioni in vs 2008, ma questo non consente di rimuovere il riferimento effettivo per i vostri progetti.Il riferimento dll ancora essere copiati nella cartella/pacchetto di installazione.

È stato utile?

Soluzione

*Nota:vedere http://www.jetbrains.net/devnet/message/5244658 per un'altra versione di questa risposta.

Leggendo il post, sembra che ci sia una certa confusione circa la domanda originale.Mi permetta di prendere una pugnalata a esso.

Il post originale è davvero la domanda:"Come faccio a identificare e rimuovere i riferimenti da un progetto di Visual Studio per altri progetti/gruppi che non sono in uso?" Il poster vuole che le assemblee non appaiono più come parte della costruzione di uscita.

In questo caso, ReSharper può aiutare identificare loro, ma è necessario rimuovere voi stessi.

Per fare questo, aprire i Riferimenti inth Soluzione del Browser, fare clic destro del mouse su ogni assembly di riferimento e scegliere "Trova il Dipendente Codice".Vedere:

http://www.jetbrains.com/resharper/features/navigation_search.html#Find_ReferencedDependent_Code

Potrai ottenere:

  1. Un elenco di dipendenze che fanno Riferimento in una finestra del browser, o

  2. Una finestra di dialogo che ti dice "dipende dal Codice del modulo XXXXXXX non è stato trovato".

Se si ottiene il secondo risultato, è possibile quindi fare clic destro del mouse Riferimento, selezionare Rimuovere e rimuovere dal vostro progetto.

Mentre è necessario per questo "manuale", cioèun riferimento a un tempo, si otterrà il lavoro fatto.Se qualcuno ha automatizzato, in qualche modo, io sono interessato a sapere come è stato fatto.

Si può tranquillamente ignorare quelli .Net Framework, in quanto normalmente non ottenere copiato costruire uscita (in genere - anche se non è necessariamente vero per applicazioni Silverlight).

Alcuni post sembrano rispondere alla domanda:"Come faccio a rimuovere utilizzando le clausole (C#) da un file di codice sorgente che non sono necessari per risolvere eventuali riferimenti all'interno di quel file".

In questo caso, ReSharper aiuta in due modi:

  1. Identifica inutilizzati utilizzando le clausole per voi durante il volo di errore di rilevamento.Essi appaiono come l'Ispezione del Codice Avvertenze - il codice verrà visualizzato in grigio (default) nel file e ReSharper fornirà un Suggerimento per rimuoverlo:

    http://www.jetbrains.com/resharper/features/code_analysis.html#On-the-fly_Error_Detection

  2. Consente di rimuovere automaticamente come parte della Pulizia del Codice del Processo:

    http://www.jetbrains.com/resharper/features/code_formatting.html#Optimizing_Namespace_Import_Directives

Infine, si rende conto che ReSharper fa di analisi statica del codice della soluzione.Quindi, se si dispone di un riferimento dinamico per l'assemblea; - dire, attraverso la riflessione o un'assemblea che viene caricata dinamicamente in fase di esecuzione e accessibili attraverso un'interfaccia, non raccoglierlo. Non vi è alcun sostituto per comprendere il codice di base e le dipendenze di progetto come si lavora sul progetto.Trovo il ReSharper caratteristiche molto utili.

Altri suggerimenti

si può utilizzare ilRimuovere Inutilizzati Riferimenti'estensione che ho scritto:

http://visualstudiogallery.msdn.microsoft.com/9811e528-cfa8-4fe7-9dd1-4021978b5097

Rimozione di riferimenti inutilizzati è una funzionalità di Visual Studio 2008 supporta già.Purtroppo, solo per VB .I progetti in rete.

Ho aperto un suggerimento su Microsoft Connect per ottenere questa funzione per C# progetti di troppo:

http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=510326

Se ti piace questa funzionalità, quindi si potrebbe votare il mio suggerimento.

Prova questo: Riferimento Assistente

Riepilogo

Riferimento Assistente aiuta a rimuovere i riferimenti non utilizzati da C#, F#, VB.NET o VC++/CLI progetti in Visual Studio 2010.

Resharper questo (e tanto, tanto di più!)

ReSharper 6.1 includere queste caratteristiche:

-Ottimizzare i riferimenti:analizzare la vostra assemblea, i riferimenti e i loro usi nel codice, ottenere la lista dei riferimenti ridondanti e rimuoverli.

-Rimuovere Inutilizzati Riferimenti:rapida il refactoring per rimuovere ridondante assemblea riferimenti.

-Sicuro elimina i riferimenti agli assembly:elimina i riferimenti agli assembly se tutti sono ridondanti, altrimenti dispalies usi e può rimuovere solo ridondante assemblea riferimenti della lista selezionata.

Ho fatto questo senza estensione in VS 2010 Ultimate Architettura->Genera il Grafico delle Dipendenze->Dall'Assemblea, mostra utilizzato assemblee, e rimosso manualmente riferimenti inutilizzati.

Ho una risposta libera che funziona in qualsiasi versione di Visual Studio e di qualsiasi versione del Framework.Non rimuovere i riferimenti inutilizzati, ma li identifica.

È possibile utilizzare Telerik JustDecompile sul progetto dll.Basta aprire la dll in JustDecompile e andare sotto References per vedere cosa è effettivamente utilizzato in dll compilata.

enter image description here

Dato che VisualStudio (o è msbuild?) rileva riferimenti inutilizzati e non includere nel file di output, è possibile scrivere uno script che analizza i riferimenti del csproj, e le confronta con gli Assembly di riferimento rilevato dalla riflessione sul progetto di uscita.

Se siete motivati...

Penso che sono copiati in bin\, perché il progetto che ha rimosso il riferimento di riferimento o di altri progetti che hanno lo stesso riferimento...

Se si sa che i riferimenti non vengono utilizzati si può rimuovere manualmente.
In Esplora soluzioni, fare clic su di riferimento Riferimenti il nodo, e quindi fare clic su Rimuovi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top