Roslyn, die .NET-Compilerplattform, hilft dabei, Fehler zu erkennen, noch bevor Code ausgeführt wird. Ein Beispiel ist die Roslyn-Rechtschreibprüfung, die in Visual Studio integriert ist. Angenommen, Sie erstellen eine statische Methode und schreiben versehentlich das Wort static als statc. Sie können diesen Rechtschreibfehler bereits sehen, bevor Sie Ihren Code ausführen, da Roslyn eine Warnung in Ihrem Code ausgibt, wenn Sie Text eingeben, noch bevor Sie eine Zeile eingeben. Mit anderen Worten, Sie müssen den Code nicht erstellen, um herauszufinden, dass Sie einen Fehler gemacht haben.

Roslyn-Analysegeräte können auch die automatische Codekorrektur mithilfe des Glühbirnen-Symbols von Visual Studio anzeigen, mit dem Sie den Code sofort korrigieren können.

Aber was wäre, wenn Sie noch mehr Fehler machen könnten?
Lassen Sie mich Ihnen die Roslyn-Analysatorpakete vorstellen. Diese Analysatorsammlungen bieten detailliertere Analysen, werden jedoch nicht mit den Standardwerkzeugen von Visual Studio geliefert. Um mehr über unsere bevorzugten Roslyn-Analysatoren zu erfahren, besuchen Sie
das Roslyn-Analysator-Repository auf GitHub . Dieses Repository enthält FxCop-Regeln, die weiterhin für die moderne Softwareentwicklung gelten, jetzt jedoch für unsere moderne Roslyn-basierte Code-Analyseplattform vorgesehen sind. Lassen Sie uns fortfahren und dieses Paket installieren, um die Produktivität und Geschwindigkeit beim Schreiben von großartigem Code zu erhöhen!
Installieren von FxCop-Analysatoren:
- Ich gehe davon aus, dass Sie Visual Studio 2017 Version 15.8 oder höher verwenden. Wählen Sie in diesem Fall die neueste Version von Microsoft.CodeAnalysis.FxCopAnalyzers aus .
- Installieren Sie das Paket in Visual Studio über die Benutzeroberfläche des Paketmanagers.

Nach der Installation des Pakets können Sie die Analysatordiagnose einfach im Projektmappen-Explorer konfigurieren. Der Analysatorknoten wird im Projektmappen-Explorer unter dem Knoten Referenzen oder Abhängigkeiten angezeigt. Wenn Sie zuerst Analysatoren und dann eine der Analysatorbaugruppen bereitstellen, werden alle verfügbaren Diagnosen in der Baugruppe angezeigt.

Sie können Diagnoseeigenschaften, einschließlich Elemente wie Beschreibung und Standardschweregrad, 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. Drücken
Sie dann
Alt +
Eingabetaste .

Die Symbole neben den einzelnen Diagnosetypen im Projektmappen-Explorer entsprechen den Symbolen, die beim Öffnen im Editor im Regelsatz angezeigt werden:
- "I" in einem Kreis zeigt einen Info-Parameter an
- "!" in einem Dreieck gibt den Parameter Warnung an
- "X" im Kreis zeigt den Fehlerparameter an
- "I" im Kreis zeigt den Parameter "Hidden" an
- "↓" in einem Kreis zeigt eine unterdrückte Diagnose an.

Anschließend können Sie die Schweregradeinstellungen im Projektmappen-Explorer festlegen. Dazu müssen Sie zunächst im Projektmappen-Explorer
Abhängigkeiten >
Analysatoren erweitern und dann die Assembly bereitstellen, die die Regel enthält, für die Sie die Schweregradparameter festlegen möchten. Danach sollten Sie mit der rechten Maustaste auf die Regel klicken, den Schweregrad des Regelsatzes auswählen und einen der Schweregradparameter im Popup-Menü auswählen.

Wenn Sie Warnung festlegen, erhalten Sie in Ihrem Code Warnungen für diesen bestimmten Regelsatz.

Jetzt, da Sie wissen, wie Analysatoren funktionieren, können Sie die Produktivität steigern und schneller großartigen Code schreiben!
FAQ:
F : Bei der Arbeit in Visual Studio ist folgende Warnung aufgetreten: „Die Code-Analyse wurde zugunsten von FxCop-Analysatoren, die während der Erstellung ausgeführt werden, nicht mehr unterstützt.
Informationen zur Migration auf FxCop-Analysatoren finden Sie unter
aka.ms/fxcopanalyzers . “ Was bedeutet das
A : FxCop ist ein Code-Analyse-Tool, das Roslyn fast ein Jahrzehnt vorausging. So wie wir unseren Compiler portiert haben (zum Beispiel Roslyn eingeführt), haben wir auch unsere Code-Analyse-Technologie auf die Roslyn-Plattform portiert. Da es auf der .NET Compiler-Plattform ausgeführt wird, werden während der Eingabe möglicherweise Warnungen in Ihrem Code generiert. Mit anderen Worten, es ist nicht erforderlich, den Code zu erstellen, um den Fehler herauszufinden.
F : Was ist der Unterschied zwischen älteren FxCop- und FxCop-Analysatoren?
A : FxCop-Analysatoren analysieren den Quellcode in Echtzeit und zur Kompilierungszeit, während Legacy-FxCop eine statische Code-Analyse ist und Binärdateien nach Abschluss des Builds analysiert. Weitere Informationen finden Sie unter
Roslyn-Analysegeräte vs. statische Code-Analyse und die
FAQ zu FxCop-Analysatoren .
F : Kann ich meine eigenen Analysegeräte schreiben?
A : Natürlich! Die Dokumentation zum Schreiben von Analysegeräten finden Sie
hier .
F : Soll ich Roslyn- oder .editorconfig-Parser für den Codestil verwenden?
A : Roslyn-Analysatoren und .editorconfig-Dateien arbeiten Hand in Hand. Wenn Sie
Codestile in der Datei .editorconfig oder auf
der Seite mit den
Optionen des Texteditors definieren , konfigurieren Sie die in Visual Studio integrierten Roslyn-Analysatoren.
F : Arbeiten Analysatoren in CI-Baugruppen (Continuous Integration)?
A : Ja, als NuGet-Pakete installierte Analysatoren können in CI-Assemblys verwendet werden.
F : Wo kann ich weitere Analysegeräte anfordern oder Fehler melden?
A : Sie können weitere Analysatoren anfordern und Fehler im
Roslyn-Repository auf GitHub melden.