Roslyn, die .NET-Compilerplattform, hilft Ihnen dabei, Fehler zu erkennen, noch bevor Sie Ihren Code ausführen. Ein Beispiel ist Roslyns Rechtschreibprüfungsanalysator, der in Visual Studio integriert ist.
Angenommen , Sie erstellen eine statische Methode und haben das Wort
statisch als statisch falsch geschrieben. Sie können diesen Rechtschreibfehler sehen, bevor Sie Ihren Code ausführen, da Roslyn während der Eingabe Warnungen in Ihrem Code erzeugen kann, noch bevor Sie die Zeile beendet haben. Mit anderen Worten, Sie müssen Ihren Code nicht erstellen, um herauszufinden, dass Sie einen Fehler gemacht haben.

Roslyn-Analysegeräte können über das Visual Studio-Glühbirnen-Symbol auch eine automatische Codekorrektur anzeigen, mit der Sie Ihren Code sofort korrigieren können.

Aber was wäre, wenn Sie noch mehr Bugs fangen könnten?
Lassen Sie mich Ihnen die Roslyn-Analysatorpakete vorstellen. Diese Sammlungen von Analysegeräten bieten eine ausführlichere Analyse, werden jedoch nicht mit den Standardwerkzeugen von Visual Studio geliefert. Um mehr über unsere bevorzugten Roslyn-Analysatoren zu erfahren, besuchen Sie unser
GitHub-Repository für Roslyn-Analysatoren . Dieses Repository enthält die FxCop-Regeln, die weiterhin für die moderne Softwareentwicklung gelten, jetzt jedoch auf unsere moderne Code-Analyseplattform abzielen, die auf Roslyn basiert. Lassen Sie uns fortfahren und dieses Paket installieren, um produktiver zu sein und schneller besseren Code zu schreiben!
So installieren Sie FxCop-Analysegeräte als NuGet-Paket:
- Angenommen, Sie verwenden Visual Studio 2017 Version 15.8 oder neuer, wählen Sie die neueste Version von Microsoft.CodeAnalysis.FxCopAnalyzers .
- Installieren Sie das Paket in Visual Studio über die Benutzeroberfläche des Paketmanagers.

Sobald Sie das Paket installiert haben, können Sie die Analysatordiagnose einfach über den Projektmappen-Explorer anpassen. Ein Analyseknoten wird im Projektmappen-Explorer unter dem Knoten Referenzen oder Abhängigkeiten angezeigt. Wenn Sie die Analysatoren erweitern und dann eine der Analysatorbaugruppen erweitern, werden alle Diagnosen in der Baugruppe angezeigt.

Sie können die Eigenschaften einer Diagnose einschließlich ihrer Beschreibung und ihres Standardschweregrads im Eigenschaftenfenster anzeigen. Um die Eigenschaften anzuzeigen, klicken Sie mit der rechten Maustaste auf die Regel und wählen Sie Eigenschaften oder wählen Sie die Regel aus und drücken Sie Alt + Eingabetaste.

Die Symbole neben jeder Diagnose im Projektmappen-Explorer entsprechen den Symbolen, die Sie im Regelsatz sehen, wenn Sie ihn im Editor öffnen:
- Das "i" in einem Kreis zeigt den Schweregrad der Informationen an
- das "!" in einem Dreieck zeigt einen Schweregrad der Warnung an
- Das "x" in einem Kreis zeigt die Schwere des Fehlers an
- Das "i" in einem Kreis auf hellem Hintergrund zeigt den Schweregrad "Versteckt" an
- Das "↓" in einem Kreis zeigt eine unterdrückte Diagnose an

Anschließend können Sie den Schweregrad des Regelsatzes im Projektmappen-Explorer festlegen. Erweitern Sie im Projektmappen-Explorer Abhängigkeiten> Analysatoren. Erweitern Sie die Assembly, die die Regel enthält, für die Sie den Schweregrad festlegen möchten. Klicken Sie mit der rechten Maustaste auf die Regel und wählen Sie Schweregrad festlegen. Wählen Sie im Flyout-Menü eine der Schweregradoptionen aus.

Wenn Sie den Schweregrad der Regel auf eine Warnung festlegen, erhalten Sie in Ihrem Code eine Warnung für diesen bestimmten Regelsatz.

Jetzt, da Sie verstehen, wie Analysatoren funktionieren, können Sie produktiver sein und schneller besseren Code schreiben!
FAQ:
F: Diese Warnung wird in Visual Studio angezeigt: „Run Code Analysis wurde zugunsten von FxCop-Analysatoren, die während der Erstellung ausgeführt werden, nicht mehr unterstützt. Informationen zur Migration zu FxCop-Analysatoren finden Sie unter https://aka.ms/fxcopanalyzers . " Was bedeutet das?A: FxCop ist die Code-Analyse-Engine, die fast ein Jahrzehnt vor Roslyn liegt. So wie wir unseren Compiler weiterentwickelt haben (z. B. Roslyn eingeführt), haben wir auch unsere Code-Analysetechnologie auf die Roslyn-Plattform weiterentwickelt. Da es von der .NET Compiler-Plattform unterstützt wird, kann es während der Eingabe Warnungen in Ihrem Code erzeugen. Mit anderen Worten, Sie müssen Ihren Code nicht erstellen, um herauszufinden, dass Sie einen Fehler gemacht haben.
F: Was ist der Unterschied zwischen FxCop-Analysatoren und älteren FxCop?A: FxCop-Analysatoren analysieren den Quellcode in Echtzeit und während der Kompilierung, während Legacy-FxCop eine statische Code-Analyse ist und Binärdateien nach Abschluss der Erstellung analysiert. Weitere Informationen finden Sie unter
Roslyn-Analysegeräte vs. FAQ zu statischer Code-Analyse und
FxCop-Analysatoren .
F: Kann ich benutzerdefinierte Analysegeräte schreiben?A: Auf jeden Fall! Eine Dokumentation zum Schreiben eines Analysators finden Sie
hier.F: Soll ich Roslyn-Analysatoren oder .editorconfig für den Codestil verwenden?A: Roslyn-Analysatoren und .editorconfig-Dateien arbeiten Hand in Hand. Wenn Sie
Codestile in einer .editorconfig-Datei oder auf der Seite mit den
Optionen des
Texteditors definieren , konfigurieren Sie tatsächlich die in Visual Studio integrierten Roslyn-Analysatoren.
F: Arbeiten Analysatoren in CI-Builds (Continuous Integration)?A: Ja, als NuGet-Pakete installierte Analysatoren können in CI-Builds erzwungen werden.
F: Wo kann ich weitere Analysegeräte anfordern oder Fehler melden?A: Sie können weitere Analysegeräte anfordern und Fehler im
Roslyn-Repository auf GitHub melden.