Übersicht über Quellcode-Analyse

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 während der Entwurfszeit in allen geöffneten Dateien durchgeführt.

Analysetools können in folgende Gruppen unterteilt werden:

  • Codeformat-Analysetools sind in Visual Studio integriert. Die Diagnose-ID oder der Code für diese Analysetools ist vom Format IDExxxx, z. B. IDE0067. Sie können Einstellungen auf der Text-Editor-Optionenseite oder in einer EditorConfig-Datei konfigurieren. Ab .NET 5.0 sind Codeformat-Analysetools im .NET SDK enthalten und können als Buildwarnungen oder -Fehler strikt erzwungen werden. Weitere Informationen finden Sie hier.

  • Tools zur Analyse der Codequalität sind jetzt im .NET 5 SDK enthalten und standardmäßig aktiviert. Die Diagnose-ID oder der Code für diese Analysetools hat das Format CAxxxx, z. B. CA1822. Weitere Informationen finden Sie unter Analyse der .NET-Codequalität.

  • Sie können Analysetools von Drittanbietern als Visual Studio-Erweiterung oder NuGet-Paket installieren. Analysetools von Drittanbietern wie StyleCop, Roslynator, XUnit Analyzers und Sonar Analyzer.

Schweregrade von Analysetools

Jedes Analysetool verfügt über einen der folgenden Schweregrade:

Schweregrad (Projektmappen-Explorer) Schweregrad (EditorConfig-Datei) Verhalten zur Buildzeit Editor-Verhalten
Fehler error Verstöße werden als Fehler in der Fehlerliste und in der Befehlszeilen-Buildausgabe angezeigt und bewirken, dass Builds fehlschlagen. Der betreffende Code wird mit einer roten Wellenlinie unterstrichen und in der Scrollleiste durch ein kleines rotes Feld markiert.
Warnung warning Verstöße werden als Warnungen in der Fehlerliste und in der Befehlszeilen-Buildausgabe angezeigt, bewirken aber nicht, dass Builds fehlschlagen. Der betreffende Code wird mit einer grünen Wellenlinie unterstrichen und in der Scrollleiste durch ein kleines grünes Feld markiert.
Info suggestion Verstöße werden als Meldungen in der Fehlerliste angezeigt, in der Befehlszeilen-Buildausgabe hingegen gar nicht. Der betreffende Code wird mit einer grauen Wellenlinie unterstrichen und in der Scrollleiste durch ein kleines graues Feld markiert.
Ausgeblendet silent Für den Benutzer nicht sichtbar. Für den Benutzer nicht sichtbar. Die Diagnose wird jedoch der IDE-Diagnose-Engine gemeldet.
Keine none Vollständig unterdrückt. Vollständig unterdrückt.
Standard default Entspricht dem Standardschweregrad der Regel. Um den Standardwert für eine Regel zu ermitteln, ziehen Sie in der Eigenschaftenfenster zu Rate. Entspricht dem Standardschweregrad der Regel.

Wenn ein Analysetool Regelverstöße findet, werden sie im Code-Editor (als Wellenlinie unter dem fehlerhaften Code) und im Fenster „Fehlerliste“ angezeigt.

Vom Analysetool gefundene Verstöße im Fenster „Fehlerliste“

Die in der Fehlerliste gemeldeten vom Analysetool gefundenen Verstöße stimmen mit der Einstellung für den Schweregrad der Regel überein. Außerdem werden vom Analysetool gemeldete Verstöße auch im Code-Editor als Wellenlinie unter dem fehlerhaften Code angezeigt. In der folgenden Abbildung werden drei Verstöße angezeigt — ein Fehler (rote Wellenlinie), eine Warnung (grüne Wellenlinie) und ein Vorschlag (drei graue Punkte):

Wellenlinien im Code-Editor in Visual Studio

Viele Analysetoolregeln oder -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 diesen Codefixen finden Sie unter Häufige schnelle Aktionen.

Verstoß im Analysetool und Codefix mithilfe einer schnellen Aktion

Konfigurieren von Analysetool-Schweregraden

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

Analysetools können auch so konfiguriert werden, dass sie den Code zur Erstellungszeit überprüfen und während Ihrer Eingabe aktiv sind. 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 How to: Configure the scope of live code analysis (Vorgehensweise: Konfigurieren des Bereichs der Livecodeanalyse).

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.

NuGet-Paket im Vergleich zur VSIX-Erweiterung

Analysetools von Drittanbietern können mithilfe eines NuGet-Pakets pro Projekt installiert werden. Einige sind auch als Visual Studio-Erweiterung verfügbar. Dann können Sie sie in jeder Projektmappe anwenden, die Sie in Visual Studio öffnen. Es gibt einige grundsätzliche Verhaltensunterschiede zwischen diesen beiden Methoden zum Installieren von Analysetools.

Bereich

Wenn Sie Analysetools als Visual Studio-Erweiterung installieren, werden diese auf Projektmappenebene und für alle Instanzen von Visual Studio angewandt. Wenn Sie die Analysetools als NuGet-Paket installieren, was wir Ihnen empfehlen, werden die Tools nur für das Projekt angewandt, in dem das NuGet-Paket installiert wurde. Analysetools, die als NuGet-Pakete in Teamumgebungen installiert wurden, sind relevant für alle Entwickler, die an diesem Projekt arbeiten.

Buildfehler

Damit zur Erstellungszeit Regeln erzwungen werden, auch über die Befehlszeile oder als Teil eines Continuous Integration-Builds (CI), können Sie eine der folgenden Optionen wählen:

  • Erstellen Sie ein .NET 5.0-Projekt, das im .NET SDK standardmäßig Analysetools enthält. Die Codeanalyse ist für Projekte, die auf .NET 5.0 oder höher ausgerichtet sind, standardmäßig aktiviert. Sie können die Codeanalyse für Projekte aktivieren, die auf frühere Versionen von .NET abzielen, indem Sie die Eigenschaft EnableNETAnalyzers auf „True“ festlegen.

  • Installieren von Analysetools als NuGet-Paket. Warnungen und Fehler der Analysetools erscheinen nicht im Buildbericht, wenn Sie die Analysetools als Erweiterung installieren.

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

MSBuild-Ausgabe mit Regelverstoß

Regelschweregrad

Den Regelschweregrad von Analysetools, die als Visual Studio-Erweiterung installiert wurden, können Sie nicht konfigurieren. Um den Regelschweregrad zu konfigurieren, installieren Sie die Analysetools als NuGet-Paket.

Nächste Schritte

Weitere Informationen