Der wahrscheinlich beste und einfachste Weg, um das zu erreichen, wonach Sie suchen, ist die Verwendung des integrierten Code-Analyse-Tools in Visual Studio, um Sie zu finden und direkt zu totem Code und nicht verwendeten Mitgliedern zu führen.
Zu diesem Zweck habe ich eine neue Code - Analyse ruleset Datei (Via File-> New-> Datei , um sicherzustellen , Allgemein im linken Bereich ausgewählt wurde und nach unten scrollen finden Code - Analyse - Regelsatz , es einen Dateinamen geben, dann für die Suche und Auswahl der folgenden Regeln). Im Folgenden finden Sie den Inhalt der Regelsatzdatei, die Sie kopieren und in eine neue Datei mit der zu verwendenden Erweiterung .ruleset einfügen können.
Bei einer Regelsatzdatei können Sie im Projektmappen- Explorer mit der rechten Maustaste auf eine Projektdatei klicken und Eigenschaften auswählen . Klicken Sie in den Fenstern der Projekteigenschaften im linken Bereich auf die Registerkarte Code-Analyse und dann auf Öffnen , um zum Speicherort der .ruleset-Datei zu navigieren. Wenn Sie zu den Eigenschaften einer Lösungsdatei wechseln (im Gegensatz zu einer Projektdatei), können Sie die Code-Analysedatei für jedes Projekt in der Lösung an einem Ort festlegen (unter Code-Analyse-Einstellungen und über das dortige Dropdown-Menü auswählen) HINWEIS: Sie müssen zuvor die Regelsatzdatei durchsucht haben, damit sie in der Dropdown-Liste in diesem Eigenschaftenfenster angezeigt wird.
Anschließend führen Sie einfach die Codeanalyse für die Projekte / Lösungen aus (über Analyse-> Codeanalyse für Lösung ausführen -OR- Alt + F11 ) und sie wird als Warnungen, nicht referenzierte Methoden oder nicht verwendete gefundene Mitglieder zurückgegeben. Es werden sogar Methoden gefunden, auf die von einer Methode verwiesen wird, auf die selbst an keiner anderen Stelle verwiesen wird.
Seien Sie jedoch vorsichtig, da eine der Möglichkeiten der Codeanalyse für toten Code Sie falsch steuern kann, wenn die Referenz "verborgen" ist, indem die Methode immer nur über Delegaten aufgerufen wird, und natürlich durch Reflektion.
Die Regeln zum Erkennen von totem Code lauten insbesondere:
- Private Methoden, die von keinem anderen Code aufgerufen werden (CA1811)
- Nicht verwendete lokale Variablen (CA1804)
- Nicht verwendete private Felder (CA1823)
- Nicht verwendete Parameter (CA1801)
- Interne Klassen, die von keinem anderen Code instanziiert werden (CA1812).
- Toter Code im bitweisen ODER-begrenzten Schalter (C6259)
Nachfolgend finden Sie den Inhalt der .ruleset-Datei, die Sie zur Vereinfachung der oben genannten Schritte abrufen können. Sie können das folgende XML einfach kopieren, in Notepad ++ einfügen , mit der Erweiterung .ruleset irgendwo speichern , wie oben beschrieben suchen und verwenden:
<?xml version="1.0" encoding="utf-8"?>
<RuleSet Name="Dead Code Rules" Description=" " ToolsVersion="12.0">
<Rules AnalyzerId="Microsoft.Analyzers.ManagedCodeAnalysis" RuleNamespace="Microsoft.Rules.Managed">
<Rule Id="CA1801" Action="Warning" />
<Rule Id="CA1804" Action="Warning" />
<Rule Id="CA1811" Action="Warning" />
<Rule Id="CA1812" Action="Warning" />
<Rule Id="CA1823" Action="Warning" />
</Rules>
<Rules AnalyzerId="Microsoft.Analyzers.NativeCodeAnalysis" RuleNamespace="Microsoft.Rules.Native">
<Rule Id="C6259" Action="Warning" />
</Rules>
</RuleSet>