Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die .NET-Compilerplattform (Roslyn) prüft Ihren C#- oder Visual Basic-Code auf Stil, Qualität, Wartung, Entwurf und andere Probleme. Diese Überprüfung oder Analyse erfolgt während der Entwurfszeit in allen geöffneten Dateien.
Analysatoren sind in die folgenden Gruppen unterteilt:
-
Diese Analyzer sind in Visual Studio integriert. Die Diagnose-ID des Analyzers oder das Codeformat ist IDExxxx, z. B. IDE0001. Sie können Einstellungen auf der Seite mit den Text-Editor-Optionen oder in einer EditorConfig-Datei konfigurieren. Ab .NET 5.0 sind Codestilanalysatoren im .NET SDK enthalten und können streng als Buildwarnungen oder -fehler erzwungen werden. Weitere Informationen finden Sie in der Übersicht über die .NET-Quellcodeanalyse.
-
Diese Analyzer sind im .NET 5.0 und höher SDK enthalten und standardmäßig aktiviert. Die Diagnose-ID oder das Codeformat des Analyzers hat das Format CAxxxx, zum Beispiel CA1822. Weitere Informationen finden Sie in der Übersicht über die .NET-Codequalitätsanalyse.
Externe Analysegeräte
Beispiele für externe Analysegeräte sind StyleCop, Roslynator, xUnit Analyzers und Sonar Analyzer. Sie können diese Analyzer entweder als NuGet-Paket oder als Visual Studio-Erweiterung installieren.
Schweregrad der Analysegeräte
Jede Roslyn Analyzer-Regel oder Diagnose verfügt über einen Standardschweregrad- und Unterdrückungszustand, den Sie für Ihr Projekt anpassen können.
Schweregradstufen umfassen: Fehler, Warnung, Vorschlag, Stumm, Ohne und Standard. Ausführliche Informationen und Verhalten finden Sie unter "Konfigurieren von Schweregraden".
Regelverstöße
Wenn ein Analyzer Regelverstöße findet, meldet er sie im Fenster " Fehlerliste " und im Code-Editor.
Der folgende Screenshot zeigt regelverstöße, die im Fenster "Fehlerliste " gemeldet wurden. Die in der Fehlerliste gemeldeten Verstöße stimmen mit der Schweregrad-Einstellung der Regel überein.
Regelverletzungen des Analyzers erscheinen im Code-Editor als Wellenlinien unter dem fehlerhaften Code. Der folgende Screenshot zeigt beispielsweise drei Verletzungen: einen Fehler (rote Wellenlinie), eine Warnung (grüne Wellenlinie) und einen Vorschlag (drei graue Punkte):
Codekorrekturen
Viele Diagnosen verfügen über eine oder mehrere zugehörige Codefixes , die Sie anwenden können, um die Regelverletzung zu korrigieren. Code-Korrekturen werden im Glühbirnen-Symbolmenü zusammen mit anderen Arten von Schnellaktionen angezeigt. Weitere Informationen zu Codefixes finden Sie unter "Allgemeine Schnelle Aktionen".
Konfigurieren von Schweregraden des Analysators
Sie können den Schweregrad der Analyseregeln in einer EditorConfig-Datei oder über das Glühbirnenmenü konfigurieren.
Sie können auch Analysegeräte konfigurieren, um Code zur Erstellungszeit und während der Eingabe zu prüfen. Sie können den Umfang der Livecodeanalyse so konfigurieren, dass sie nur für das aktuelle Dokument, alle geöffneten Dokumente oder die gesamte Lösung ausgeführt wird. Weitere Informationen finden Sie unter Konfigurieren der Livecodeanalyse für .NET.
Tipp
Buildzeitfehler und Warnungen von Codeanalysatoren werden nur angezeigt, wenn die Analysegeräte als NuGet-Paket installiert werden. Die integrierten Analysatoren (z. B. IDE0067 und IDE0068) werden beim Build nie ausgeführt.
Installieren externer Codeanalysatoren
Visual Studio enthält einen Kernsatz von Roslyn-Analyzern, die immer aktiv sind. Wenn Sie weitere Codeanalysatoren benötigen, können Sie externe Analyzer für jedes Projekt über ein NuGet-Paket installieren. Einige Analyzer sind auch als Vsix-Erweiterung von Visual Studio verfügbar. In diesem Fall gelten sie für jede Lösung, die Sie in Visual Studio öffnen. Informationen zum Installieren dieser beiden verschiedenen Analysetypen finden Sie unter Installieren von Codeanalyses.
Umfang
Wenn Sie einen Analyzer als NuGet-Paket installieren, gilt die bevorzugte Methode für externe Analysegeräte nur für das Projekt, in dem das NuGet-Paket installiert ist. Wenn Sie hingegen einen Analyzer als Visual Studio-Erweiterung installieren, gilt dies auf der Ebene der Projektmappe und für alle Instanzen von Visual Studio. In Teamumgebungen ist ein Analyzer, den Sie als NuGet-Paket installieren, für alle Entwickler aktiv, die an diesem Projekt arbeiten.
Hinweis
Erstanbieteranalysatoren werden im .NET SDK ausgeliefert. Es ist vorzuziehen, dass Sie diese Analyzer aus dem .NET SDK aktivieren, anstatt sie als Microsoft.CodeAnalysis.NetAnalyzersNuGet-Paket zu installieren. Wenn Sie die Analysegeräte aus dem .NET SDK aktivieren, wird sichergestellt, dass Sie automatisch Fehlerkorrekturen und neue Analyzer erhalten, sobald Sie das SDK aktualisieren. Weitere Informationen zu Analyzern finden Sie unter Aktivieren oder Installieren von .NET-Analyzern von Erstanbietern.
Buildfehler
Um die Regeln zum Zeitpunkt der Erstellung durchzusetzen, wählen Sie eine der folgenden Optionen aus und verwenden dabei entweder eine Befehlszeile oder CI-Builds (Continuous Integration).
Erstellen Sie ein .NET 5.0- oder höher-Projekt, das standardmäßig die Codeanalyse ermöglicht. Um die Codeanalyse für Projekte zu aktivieren, die auf frühere .NET-Versionen abzielen, legen Sie die EnableNETAnalyzers-Eigenschaft auf
true.Installieren Sie die Analysegeräte als NuGet-Paket. Wenn Sie die Analysegeräte als Visual Studio-Erweiterung installieren, werden Warnungen und Fehler im Buildbericht nicht angezeigt.
Der folgende Screenshot zeigt die Befehlszeilenausgabe des Builds beim Erstellen eines Projekts, das einen Verstoß gegen eine Analyserichtlinie enthält.
Regelschweregrad
Wenn Sie den Schweregrad der Analyseregel für externe Analyzer konfigurieren möchten, müssen Sie den Analyzer als NuGet-Paket installieren. Sie können den Regelschweregrad von Analysegeräten, die als Visual Studio-Erweiterung installiert wurden, nicht konfigurieren.