Ich kann nicht verwendete Referenzen einer einzelnen Datei finden, indem ich mit der rechten Maustaste auf die Datei klicke und die Option "Verwendungen suchen" auswähle. Gibt es eine Möglichkeit, die Liste aller nicht verwendeten Klassen oder Dateien in meinem Projekt anzuzeigen oder abzurufen?
122
Antworten:
Aktivieren Sie zuerst "Fehler in Lösung analysieren" (klicken Sie mit der rechten Maustaste auf das Resharper-Symbol in der Statusleiste).
Klicken Sie dann mit der rechten Maustaste auf den Lösungsknoten und wählen Sie "Codeprobleme suchen". Im Werkzeugfenster "Prüfergebnisse" können Sie nach "Problemtyp" gruppieren und nach "Typ oder Typelement wird nie verwendet" suchen, um alle nicht verwendeten Klassen (und viele weitere nicht verwendete Symbole) abzurufen.
Eine zweite Option (nach dem Aktivieren von "Fehler in Lösung analysieren") besteht darin, zu einer nicht verwendeten Klasse zu wechseln, Alt + Eingabetaste zu drücken und "Optionen für die Prüfung" Typ oder Typelement ... "auszuwählen Hier finden Sie alle Codeprobleme dieses Typs Ganze Lösung.
quelle
Die Lösung von @ulrichc klingt perfekt und funktioniert gut für kleine bis mittelgroße Projekte, in denen Sie kein Dependency Injection- Framework wie Castle oder Ninject verwenden, aber was ist, wenn Sie den DI-Container [Castle zum Beispiel] verwenden und Folgendes haben:
Wie Sie sehen können, durchläuft RegisterFromAssembly alle Typen in der Assembly und fügt sie zur Laufzeit blind [basierend auf dem Methodenparameter] zum Container hinzu.
Sie benötigen so etwas wie das Agent Mulder- Plugin, das die Navigation für Typen ermöglicht, die in Ihren Containern registriert oder aufgelöst sind. Dies könnte visuell wieder funktionieren [Entwurfszeit möglicherweise], aber Sie wären nicht wirklich sicher, es sei denn, Sie führen jedes Mal, wenn Sie die nicht verwendete Klasse entfernen, alle Tests in Ihrer Anwendung [jede mögliche Ebene] aus, um zu 80% sicher zu sein, dass Sie sicher sind. Moral der Geschichte: Eine Klasse klingt für Resharper möglicherweise nicht verwendet, wird jedoch möglicherweise wiederbelebt, wenn Sie Dependency Injection verwenden.
quelle