Migrieren von der Legacyanalyse (FxCop) zur Quellanalyse (.NET-Analysetools)

Die Quellanalyse mit den Analysetools der .NET Compiler Platform („Roslyn“) ersetzt die Legacyanalyse für verwalteten Code. Die Legacyanalyse ist für neuere Projektvorlagen wie .NET Core- und .NET Standard-Projekte nicht verfügbar.

Viele der Legacyanalyseregeln (FxCop) wurden bereits für .NET-Analysetools (Roslyn-Codeanalysetools) umgeschrieben. Roslyn-Analysetools führen während der Ausführung des Compilers Analysen aus, die auf dem Quellcode basieren. Die Analyseergebnisse werden zusammen mit den Ergebnissen der Kompilierung gemeldet.

Weitere Informationen zu den Unterschieden zwischen Legacy- und Quellanalyse finden Sie in den folgenden Artikeln:

Migration

So migrieren Sie zur Quellanalyse

  1. Aktivieren oder installieren Sie die .NET-Analysetools. Wenn Verstöße bei der Quellcodeanalyse gefunden werden, werden diese ähnlich wie bei der Legacyanalyse im Fenster „Fehlerliste“ in Visual Studio angezeigt. Außerdem erscheinen Verstöße bei der Quellcodeanalyse auch im Code-Editor als Wellenlinie unter dem fehlerhaften Code. Die Farbe der Wellenlinie hängt von den Schweregradeinstellungen der Regel ab. Den Status von Regeln, die zu den neuen .NET-Analysetools portiert wurden, finden Sie unter Portierte und nicht portierte Regeln.

    Hinweis

    Vor Visual Studio 2019 (16.8) und .NET 5.0 wurden diese Analysetools als Microsoft.CodeAnalysis.FxCopAnalyzersNuGet-Paket bereitgestellt. Ab Visual Studio 2019 (16.8) und .NET 5.0 sind diese Analysetools im .NET SDK enthalten. Sie sind aber auch als Microsoft.CodeAnalysis.NetAnalyzersNuGet-Paket verfügbar. Weitere Informationen finden Sie unter Migrieren von FxCop-Analysetools zu .NET-Analysetools.

  2. Zur Behebung von CA0507 müssen Sie sicherstellen, dass die Legacycodeanalyse für das Projekt deaktiviert ist. Legen Sie die RunCodeAnalysis-Eigenschaft in der Projektdatei auf FALSE fest:

    <RunCodeAnalysis>false</RunCodeAnalysis>

    Oder öffnen Sie Projekteigenschaften>Codeanalyse, und deaktivieren Sie die Einstellung Beim Erstellen ausführen.

Konfiguration

Weitere Informationen zum Konfigurieren der .NET-Analysetools: