it-swarm.com.de

Entfernen Sie alle nicht verwendeten Verweise aus einem Projekt in Visual Studio-Projekten

Ich habe mich nur gefragt, ob es möglich ist, in verschiedenen Visual Studio-Versionen automatisch alle Referenzen aus einem Projekt zu entfernen, die nie verwendet wurden.

Bitte geben Sie in Ihrer Antwort an, für welche Version von VS die Lösung gilt.

220
KroaX

Wenn Sie Resharper (Plugin) installiert haben, können Sie auf eine Funktion zugreifen, mit der Sie die verwendeten Referenzen über Solution Explorer> (rechte Maustaste) analysieren können. Referenzen> Referenzen optimieren ...

http://www.jetbrains.com/resharper/webhelp/Refactorings__Remove_Unused_References.html

Diese Funktion verarbeitet nicht korrekt:

  • Abhängigkeit injizierter Baugruppen
  • Dynamisch geladene Assemblys (Assembly.LoadFile)
  • Native Code-Assemblys, die über Interop geladen werden
  • ActiveX-Steuerelemente (COM-Interop)
  • Andere kreative Möglichkeiten zum Laden von Baugruppen

enter image description here

49
Ernest

Die Resharper-Erweiterung erledigt dies für Sie. 

Diese Erweiterung unterstützt Visual Studio 2005 bis 2017.

Während der Compiler keine unbenutzten Assemblys enthält, werden Visual Studio und Intellisense durch die Verwendung von Anweisungen und Verweisen überflüssig.

27
Mathieson

Sie können die kostenlose VS2010-Erweiterung ausprobieren: Referenzassistent nach Lardite-Gruppe. Es funktioniert perfekt für mich. Dieses Tool hilft bei der Suche nach nicht verwendeten Verweisen und ermöglicht Ihnen die Auswahl, welche Verweise entfernt werden sollen.

26
Wacky

In einem Visual Basic-Projekt wird das Entfernen von "nicht verwendeten Verweisen" (Projekt -> Verweise -> nicht verwendete Verweise) unterstützt. In C # gibt es keine solche Funktion.

Die einzige Möglichkeit, dies in einem C # -Projekt (ohne andere Werkzeuge) zu tun, besteht darin, möglicherweise nicht verwendete Assemblys zu entfernen, das Projekt zu kompilieren und zu überprüfen, ob Fehler beim Kompilieren auftreten. Wenn keine Fehler auftreten, haben Sie eine nicht verwendete Baugruppe entfernt. ( Siehe meinen Beitrag

Wenn Sie wissen möchten, welches Projekt (Assembly) von anderen Baugruppen abhängt, können Sie NDepend verwenden.

21
Jehof

Für alle, die hierher kommen und nach Visual studio 2012 suchen:

Herunterladen und Installieren von Referenzassistent für Visual Studio 11

Später können Sie:

enter image description here

16
Habib

Für Visual Studio 2013/2015/2017 gibt es eine Erweiterung, die genau das macht, was Sie möchten: ResolveUR . Was dies im Grunde tut, ist: 

  • referenz wird im Projekt entfernt
  • projekt wird mit msbuild erstellt
  • Überprüfen Sie auf Build-Fehler
  • stellen Sie entfernte Referenzen wieder her, wenn Build-Fehler aufgetreten sind.
14

In Visual Studio 2013 funktioniert diese Erweiterung: ResolveUR

12
General Failure

Einige Leute schlugen vor, ein tolles Tool zu verwenden - Referenzassistent für Visual Studio . Das Problem ist, dass VS2012 das neueste unterstützte Visual Studio ist. Aber es gibt auch die Möglichkeit, es in VS2013 zum Laufen zu bringen;)

Und so geht's:

1) Laden Sie Lardite.RefAssistant.11.0.vsix herunter

2) Ändern Sie die Erweiterung in ZIP: Lardite.RefAssistant.11.0.vsix -> Lardite.RefAssistant.11.0.Zip

3) Entpacken Sie die extension.vsixmanifest-Datei und öffnen Sie sie im Texteditor

4) Finde alle Vorkommen von InstallationTarget Version="[11.0,12.0)" und ersetze sie durch InstallationTarget Version="[11.0,12.0]" (beachte die schließende Klammer)

5) Speichern Sie die Datei und komprimieren Sie alle Dateien, sodass sie sich auf der Stammebene von Zip befinden

6) Ändern Sie die Erweiterung der neuen Zip in vsix.

7) Installieren und genießen :)

Ich habe es mit VS2013 getestet, danke source für das Tutorial

EDIT Zur Unterstützung der VS 2015 Community Edition hinzufügen

<InstallationTarget Version="[14.0,15.0]" Id="Microsoft.VisualStudio.Community" />

Bedeutung der Klammern

[ – minimum version inclusive.

] – maximum version inclusive. 

( – minimum version exclusive. 

) – maximum version exclusive.
9
VladL

Sie können die Reference Assistant-Erweiterung aus der Visual Studio-Erweiterungsgalerie verwenden.

Verwendet und funktioniert für Visual Studio 2010.

7
eka808

Mit den Visual Studio-Versionen 2017 und 2015 können Sie dies mit der Funktion Code Map tun. Diese Funktion ist jedoch nur in der Enterprise Edition verfügbar, nicht in der Community oder Professional Versionen.

Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Projektknoten und wählen Sie "Auf Code-Map anzeigen". Dadurch wird Ihre DLL als einzelner Knoten in einem leeren Diagramm angezeigt. Klicken Sie mit der rechten Maustaste auf diesen Knoten in der Code Map und wählen Sie "Assemblies This References anzeigen". Dadurch wird ein zusätzlicher Knoten namens "Externals" hinzugefügt, der erweitert werden kann, um nur die Assemblys anzuzeigen, auf die tatsächlich verwiesen wird.

 enter image description here

6
Glenn Slayden

Alles, was Sie brauchen, ist Stein und nackter Knöchel, dann können Sie es wie ein Höhlenmensch tun.

  1. Nicht verwendete Namespaces entfernen (für jede Klasse)
  2. Führen Sie den Debug-Build aus
  3. Kopieren Sie Ihre ausführbaren und verbleibenden Namespace-Referenzen an den neuen Speicherort
  4. Führen Sie die ausführbare Datei aus
  5. Fehlender Verweis DLL wird auftreten
  6. Kopieren Sie die erforderliche DLL aus dem Debug-Ordner
  7. Wiederholen Sie 4-6
  8. Gu Gu Ga Ga?
  9. Wirf deinen Stein

Sie können sich auch auf Ihre Build-Tools verlassen, um Sie wissen zu lassen, welche Referenz noch benötigt wird. Es ist die Ära von VS 2017, der Höhlenmensch hat immer noch überlebt.

2
Eark

Mit DevExpress befolge ich diese Anweisungen:

  1. Gehen Sie in VS zu DevExpress - Editor - Code Cleanup. Aktivieren Sie unter Regeln die Option "Nicht verwendete Namespacereferenzen entfernen". OK klicken.
  2. Klicken Sie mit der rechten Maustaste auf die Lösung und wählen Sie "Code-Bereinigung". Die Bereinigung dauert einige Minuten und endet.
  3. Erstellen Sie Ihre Anwendung
1