Codeanalyse mithilfe von .NET Compiler Platform (Roslyn)-Analysetools

Analysetools der .NET Compiler Platform (Roslyn) analysieren Ihren C#- oder Visual Basic-Code auf Stil, Qualität, Verwaltbarkeit, Design und unter weiteren Aspekten. Diese Prüfung oder Analyse wird zur Entwurfszeit in allen geöffneten Dateien durchgeführt.

Analysetools können in die folgenden Gruppen unterteilt werden:

Schweregrade von Analysetools

Jede Regel oder Diagnose des Roslyn-Analysetools weist einen Standardstatus bezüglich Schweregrad und Unterdrückung auf, den Sie für Ihr Projekt anpassen können.

Schweregradstufen umfassen: Fehler, Warnung, Vorschlag, Lautlos, Keine 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 vom Analysetool gefundenen Verstöße stimmen mit der Einstellung für den Schweregrad der Regel überein:

Screenshot der Analyseverletzungen im Fenster „Fehlerliste“.

Außerdem werden die Analysetool-Regelverstöße auch im Code-Editor als Wellenlinie unter dem fehlerhaften Code angezeigt. In dem folgenden Screenshot werden zum Beispiel drei Verstöße angezeigt ein Fehler (rote Wellenlinie), eine Warnung (grüne Wellenlinie) und ein Vorschlag (drei graue Punkte):

Screenshot mit Fehler-, Warnungs- und Vorschlagsmarkierungen im Code-Editor.

Codekorrekturen

Viele Diagnosen verfügen über mindestens einen Codefix, den Sie zur Korrektur von Regelverstößen anwenden können. Codekorrekturen werden zusammen mit anderen schnellen Aktionen im Fehlerbehebungsmenü (Glühbirnensymbol) angezeigt. Weitere Informationen zu Codefixen siehe Häufige schnelle Aktionen.

Screenshot eines Analyseverstoßes und eines Codekorrektur als Schnelle Aktion im Code-Editor.

Konfigurieren von Analysetool-Schweregraden

Sie können den Schweregrad von Analysetoolregeln in einer EditorConfig-Datei oder im Glühbirnenmenü konfigurieren.

Sie können auch Analysetools konfigurieren, so dass sie den Code zur Erstellungszeit und während Ihrer Eingabe überprüfen. Sie können den Bereich der Livecodeanalyse konfigurieren, um die Ausführung nur auf das aktuelle Dokument, alle geöffneten Dokumente oder die gesamte Projektmappe zu beschränken. Weitere Informationen finden Sie unter Konfigurieren von Live-Codeanalysen für .NET.

Tipp

Buildfehler und Warnungen von Codeanalysetools werden nur angezeigt, wenn die Analysetools als NuGet-Paket installiert wurden. Die integrierten Analysetools wie IDE0067 und IDE0068 werden nie während des Buildvorgangs ausgeführt.

Installieren externer Analysetools

Visual Studio enthält einen Kernsatz von Roslyn-Analysetools, die immer aktiv sind. Wenn Sie mehr Code-Analysetools benötigen, können Sie externe Analysetools für jedes Projekt in Form eines NuGet-Pakets installieren. Einige Analysetools sind auch als Visual Studio-.vsix-Erweiterung verfügbar. Dadurch können Sie sie in jeder Projektmappe anwenden, die Sie in Visual Studio öffnen. Informationen zum Installieren dieser beiden verschiedenen Analysetool-Typen finden Sie unter Installieren von Code-Analystools.

`Scope`

Wenn Sie ein Analysetool als NuGet-Paket als empfohlene Methode installieren, wird sie nur für das Projekt angewandt, in dem das NuGet-Paket installiert wurde. Andernfalls, wenn Sie ein Analysetool als Visual Studio-Erweiterung installieren, wird es auf Projektmappenebene und für alle Instanzen von Visual Studio angewandt. Ein Analysetool, das Sie als NuGet-Pakete in Teamumgebungen installiert haben, ist relevant für alle Entwickler, die an diesem Projekt arbeiten.

Hinweis

Analysetools von Erstanbietern sind Bestandteil des .NET SDK. Es ist vorzuziehen, dass Sie diese Analysetools 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 Fehlerkorrekturen für die Analysetools und neue Analysetools automatisch erhalten, sobald Sie das SDK aktualisieren. Weitere Informationen zu Analysetools finden Sie unter Aktivieren oder Installieren von .NET-Analysetools von Erstanbietern.

Buildfehler

Um die Regeln beim Erstellen des Builds zu erzwingen, indem Sie entweder eine Befehlszeile oder CI-Builds (Continuous Integration) verwenden, wählen Sie eine der folgenden Optionen aus:

  • Erstellen Sie ein Projekt mit .NET 5.0- oder höher, das standardmäßig die Codeanalyse ermöglicht. Um die Codeanalyse für Projekte zu aktivieren, die auf frühere Versionen von .NET abzielen, legen Sie die Eigenschaft EnableNETAnalyzers auf true fest.

  • Installieren Sie das Analysetool als NuGet-Paket. Wenn Sie die Analysetools als Visual Studio-Erweiterung installieren, werden Analysetool-Warnungen und -Fehler nicht im Build-Bericht angezeigt.

Der folgende Screenshot zeigt die Befehlszeilen-Buildausgabe vom Erstellen eines Projekts an, das einen Analysetool-Regelverstoß enthält:

Screenshot einer MSBuild-Ausgabe mit einem Regelverstoß in einer Developer-Eingabeaufforderung.

Regelschweregrad

Wenn Sie den Regelschweregrad des Analysetools konfigurieren wollen, müssen Sie die Analysetools als NuGet-Paket installieren. Den Regelschweregrad von Analysetools, die als Visual Studio-Erweiterung installiert wurden, können Sie nicht konfigurieren.

Nächste Schritte