So aktivieren Sie die integrierten .NET Analyzer

 C Programming >> C-Programmierung >  >> Tags >> .NET
So aktivieren Sie die integrierten .NET Analyzer

.NET Analyzers (das FxCop ersetzt) ​​wird mit dem .NET 5 SDK geliefert. Wenn Sie das .NET 5 SDK installiert haben, können Sie .NET Analyzer aktivieren, indem Sie der .csproj-Datei Eigenschaften hinzufügen. Sie können dies auch dann verwenden, wenn Ihr Projekt nicht auf .NET 5 abzielt. Wenn Sie das .NET 5 SDK nicht installiert haben, aber .NET Analyzers verwenden möchten, können Sie es mit einem Nuget-Paket installieren.

In diesem Artikel zeige ich beide Möglichkeiten, .NET Analyzer zu aktivieren, und zeige dann eine einfache Möglichkeit, um zu überprüfen, ob es funktioniert.

Wenn das .NET 5 SDK installiert ist

Wenn Sie das .NET 5 SDK installiert haben, können Sie die integrierten .NET Analyzer aktivieren, indem Sie der .csproj-Datei die folgenden Eigenschaften hinzufügen:

<PropertyGroup>
	<OutputType>Exe</OutputType>
	<TargetFramework>netcoreapp3.1</TargetFramework>
	<EnableNETAnalyzers>true</EnableNETAnalyzers>
	<AnalysisMode>AllEnabledByDefault</AnalysisMode>
	<AnalysisLevel>latest</AnalysisLevel>
</PropertyGroup>
Code language: HTML, XML (xml)

Ich musste die AnalysisLevel-Eigenschaft explizit zur .csproj-Datei hinzufügen, damit sie funktioniert. Die Registerkarte „Codeanalyse“ in den Projekteigenschaften zeigt eine „Analyseebene“-Einstellung, aber sie scheint nicht zu funktionieren (dies ist wahrscheinlich ein Fehler in VS2019 16.8). Das explizite Einfügen der Einstellung in die .csproj-Datei hat jedoch funktioniert.

Ich empfehle, zuerst AnalysisMode=AllEnabledByDefault zu verwenden und dann einzelne Regeln zu deaktivieren, die Sie nicht möchten, wenn sie auftauchen.

Hinweis:Sie können den Analysator aus dem .NET 5 SDK auch dann verwenden, wenn Ihr Projekt nicht auf .NET 5 abzielt.

Wenn Sie das .NET 5 SDK nicht installiert haben

Da Sie das .NET 5 SDK nicht installiert haben, aber die .NET Analyzer möchten, können Sie das nuget-Paket installieren:

Install-Package Microsoft.CodeAnalysis.NetAnalyzersCode language: PowerShell (powershell)

Fügen Sie dann die folgenden Einstellungen zur .csproj-Datei hinzu:

<PropertyGroup>
	<OutputType>Exe</OutputType>
	<TargetFramework>netcoreapp3.1</TargetFramework>
	<AnalysisMode>AllEnabledByDefault</AnalysisMode>
	<AnalysisLevel>latest</AnalysisLevel>
</PropertyGroup>
Code language: HTML, XML (xml)

Hinweis:Da ich das .NET 5 SDK installiert habe, bin ich mir nicht 100 % sicher, ob dies alles ist, was Sie tun müssen, damit es funktioniert. Wenn Sie diesen Weg gehen und es nicht funktioniert, hinterlassen Sie bitte einen Kommentar.

Überprüfen Sie, ob die Codeanalyse funktioniert

Nachdem Sie .NET Analyzer aktiviert haben, können Sie überprüfen, ob es funktioniert, indem Sie absichtlich Code hinzufügen, der eine Codeanalysewarnung auslöst, wie z. B. die folgende Aufzählung:

public enum Animals
{
	Dog = 1,
	Cat = 2
}
Code language: C# (cs)

Erstellen Sie im Zweifelsfall das Projekt neu. Wenn alles wie vorgesehen funktioniert, sollten Sie die folgende Codeanalyse-Warnung sehen: