* Hinweis: Eine andere Version dieser Antwort finden Sie unter http://www.jetbrains.net/devnet/message/5244658 .
Beim Durchlesen der Beiträge scheint es einige Verwirrung hinsichtlich der ursprünglichen Frage zu geben. Lassen Sie mich einen Stich machen.
Der ursprüngliche Beitrag stellt wirklich die Frage: "Wie identifiziere und entferne ich Verweise von einem Visual Studio-Projekt auf andere Projekte / Assemblys, die nicht verwendet werden?" Das Poster möchte, dass die Assemblys nicht mehr als Teil der Build-Ausgabe angezeigt werden.
In diesem Fall kann ReSharper Ihnen helfen , sie zu identifizieren , aber Sie müssen sie selbst entfernen .
Öffnen Sie dazu den Verweis im Lösungsbrowser, klicken Sie mit der rechten Maustaste auf jede referenzierte Assembly und wählen Sie "Abhängigen Code suchen". Sehen:
http://www.jetbrains.com/resharper/features/navigation_search.html#Find_ReferencedDependent_Code
Sie erhalten entweder:
Eine Liste der Abhängigkeiten von dieser Referenz in einem Browserfenster oder
Ein Dialogfeld mit der Meldung "Code abhängig vom Modul XXXXXXX wurde nicht gefunden."
Wenn Sie das zweite Ergebnis erhalten, können Sie mit der rechten Maustaste auf die Referenz klicken, Entfernen auswählen und aus Ihrem Projekt entfernen.
Während Sie dies "manuell" tun müssen, dh jeweils eine Referenz, wird die Arbeit erledigt. Wenn jemand dies auf irgendeine Weise automatisiert hat, bin ich daran interessiert zu hören, wie es gemacht wurde.
Sie können diejenigen im .Net Framework so gut wie ignorieren, da sie normalerweise nicht in Ihre Build-Ausgabe kopiert werden (normalerweise - obwohl dies für Silverlight-Apps nicht unbedingt der Fall ist).
Einige Beiträge scheinen die Frage zu beantworten: "Wie entferne ich mithilfe von Klauseln (C #) aus einer Quellcodedatei, die nicht zum Auflösen von Verweisen in dieser Datei erforderlich sind?"
In diesem Fall hilft ReSharper auf verschiedene Weise:
Identifiziert nicht verwendete mithilfe von Klauseln für Sie während der Erkennung von Fehlern im laufenden Betrieb. Sie werden als Warnungen zur Codeinspektion angezeigt. Der Code wird in der Datei ausgegraut angezeigt (Standardeinstellung), und ReSharper gibt einen Hinweis zum Entfernen:
http://www.jetbrains.com/resharper/features/code_analysis.html#On-the-fly_Error_Detection
Ermöglicht das automatische Entfernen im Rahmen der Codebereinigung:
http://www.jetbrains.com/resharper/features/code_formatting.html#Optimizing_Namespace_Import_Directives
Stellen Sie schließlich fest, dass ReSharper eine statische Code-Analyse für Ihre Lösung durchführt. Wenn Sie also einen dynamischen Verweis auf die Assembly haben - beispielsweise durch Reflektion oder eine Assembly, die zur Laufzeit dynamisch geladen wird und über eine Schnittstelle zugegriffen wird - wird diese nicht abgerufen. Es gibt keinen Ersatz dafür, Ihre Codebasis und die Projektabhängigkeiten zu verstehen, während Sie an Ihrem Projekt arbeiten. Ich finde die ReSharper-Funktionen sehr nützlich.