Frage

Wie kann ich nicht verwendete Referenzen in meinen Projekten finden und löschen?

Ich weiß, Sie können ganz einfach die Verwendung von Aussagen in VS 2008 entfernen, aber die tatsächliche Referenz in Ihren Projekten nicht entfernen. Die referenzierte dll wird noch in Ihrem ist / Setup-Paket kopiert werden.

War es hilfreich?

Lösung

* Hinweis: siehe http://www.jetbrains.net/devnet/message/5244658 für eine andere Version dieser Antwort.

durch die Beiträge Lesen, sieht es aus wie es einige Verwirrung in Bezug auf die ursprüngliche Frage. Lassen Sie mich es einen Stich nehmen.

Die ursprüngliche Post bittet wirklich die Frage: „Wie kann ich erkennen und entferne Referenzen von einem Visual Studio-Projekt zu anderen Projekten / Baugruppen, die nicht in Gebrauch ist?“ Das Plakat will die Baugruppen nicht mehr als Teil der Build-Ausgabe erscheinen.

In diesem Fall kann ReSharper helfen Sie identifizieren sie, aber Sie müssen entfernen sie selbst.

Um dies zu tun, öffnen Sie die Referenzen inth Lösung Browser mit der rechten Maustaste auf jede Anordnung Bezug genommen wird, und wählen Sie „Find Dependent-Code“. Siehe auch:

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

Sie werden entweder erhalten:

  1. Eine Liste der Abhängigkeiten von dieser Referenz in einem Browser-Fenstern oder

  2. Ein Dialog Sie sagen, "Code abhängig von Modul XXXXXXX wurde nicht gefunden.".

Wenn Sie das das zweite Ergebnis zu erhalten, können Sie dann mit der rechten Mausklick die Referenz, wählen Sie Entfernen, und entfernen Sie sie von Ihrem Projekt.

Während Sie auf diese „von Hand“ haben, das heißt eine Referenz zu einem Zeitpunkt, wird es den Job zu erledigen. Wenn jemand dies in irgendeiner Weise automatisiert Ich bin interessiert zu hören, wie es gemacht wurde.

Sie können so ziemlich ignorieren die, die in .NET Framework, da sie normalerweise nicht auf Ihre Build-Ausgabe kopiert werden (in der Regel - wenn auch nicht unbedingt wahr für Silverlight-Anwendungen).

Einige Beiträge scheinen die Frage zu beantworten: „Wie entferne ich mit Klauseln (C #) aus einer Quellcodedatei, die nicht in dieser Datei alle Verweise zu lösen benötigt werden“.

In diesem Fall wird ReSharper in ein paar Möglichkeiten helfen:

  1. Identifiziert nicht verwendete mit Klauseln für Sie während on the fly Fehlererkennung. Sie erscheinen als Code-Inspektion Warnungen - der Code ausgegraut erscheinen wird (sein default) in der Datei und ReSharper einen Hinweis liefern, um es zu entfernen:

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

  2. Damit können Sie automatisch als Teil des Codes Bereinigungsprozess entfernen:

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

Schließlich erkennen, dass ReSharper statische Code-Analyse auf Ihrer Lösung der Fall ist. Also, wenn Sie einen dynamischen Verweis auf die Assembly haben - sagen durch Reflexion oder eine Baugruppe, die zur Laufzeit dynamisch geladen und über eine Schnittstelle zugegriffen -. Es wird nicht abholen Es gibt keinen Ersatz für den Code zu verstehen Basis und die Projektabhängigkeiten, wie Sie an Ihrem Projekt arbeiten. Ich mache die ReSharper Funktionen sehr nützlich finden.

Andere Tipps

können Sie die ' Entfernen von nicht verwendeten Referenzen ' verwenden Erweiterung schrieb ich:

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

nicht verwendete Referenzen Entfernen ist ein Feature von Visual Studio 2008 bereits unterstützt. Leider nur für VB .NET-Projekte.

Ich habe einen Vorschlag auf Microsoft Connect eröffnet diese Funktion für C # Projekte erhalten auch:

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

Wenn Sie diese Funktion auch gerne dann könnten Sie meinen Vorschlag stimmen.

Versuchen Sie dieses: Referenz-Assistent

  

Zusammenfassung

     

Referenz-Assistent hilft nicht verwendete Referenzen von C #, F # zu entfernen,   VB.NET oder VC ++ / CLI-Projekte in Visual Studio 2010.

ReSharper wird dies für Sie tun (und so viel mehr!)

ReSharper 6.1 werden diese Funktionen gehören:

-Optimieren Referenzen:. Analysieren Ihre Montage Referenzen und ihre Verwendungen in Code, erhalten Liste von redundanten Verweise und entfernen Sie sie

-Remove Ungenutzte. Bezug: schnellen Refactoring redundante Montag Referenzen entfernen

-Sichere auf Montage Referenzen löschen. Wird die Montage Referenzen gelöscht werden, wenn sie alle redundant sind, sonst dispalies Verwendungen und kann nur redundante Baugruppe Referenzen der ausgewählten Liste entfernen

ich dies in den VS 2010 Ultimate ohne Erweiterung getan Architektur-> Generieren Abhängigkeit Graph-> Durch die Montage, es Baugruppen verwendet wird, zeigt, und nicht verwendete Referenzen manuell entfernt werden.

Ich habe eine kostenlose Antwort, die in einem beliebigen Version von Visual Studio und jeder Framework-Version funktioniert. Es ist nicht die ungenutzten Verweise entfernen, aber es identifiziert sich.

Sie können mit Telerik JustDecompile auf Ihrem Projekt dll. Öffnen Sie einfach die DLL in JustDecompile und gehen unter References, um zu sehen, was tatsächlich in der kompilierten DLL verwendet wird.

Da Visual Studio (oder ist es msbuild?) Nicht verwendete Referenzen erkennt und sie in der Ausgabedatei nicht enthält, können Sie einen Skript schreiben, das die Referenzen aus dem csproj analysiert und vergleicht diese mit den genannten Baugruppen nachgewiesen durch Reflexion über das Projekt ausgegeben.

Wenn Sie motiviert ...

Ich denke, dass in sind \ kopiert werden, weil in dem Projekt, das die Referenzreferenz entfernt habe o anderes Projekt, das den gleichen Bezug hat ...

Wenn Sie wissen, welche Referenzen nicht verwendet werden, können Sie sie manuell entfernen.
Im Projektmappen Explorer mit der rechten Maustaste auf den Verweis in den Referenzen Knoten, und klicken Sie dann auf Entfernen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top