Migrer de l’analyse héritée (FxCop) vers l’analyse de code source (analyseurs .NET)

L’analyse de code source par des analyseurs .NET Compiler Platform (« Roslyn ») remplace l’analyse héritée pour le code managé. Pour les types de projet plus récents comme les projets .NET Core et .NET Standard, l’analyse héritée n’est pas disponible.

La plupart des règles d’analyse héritée (FxCop) ont déjà été réécrites pour les analyseurs .NET, un ensemble d’analyseurs de code Roslyn. Les analyseurs Roslyn exécutent une analyse basée sur le code source pendant l’exécution du compilateur. Les résultats des analyseurs sont signalés en même temps que les résultats du compilateur.

Pour plus d’informations sur les différences entre l’analyse héritée et l’analyse de code source, consultez les rubriques suivantes :

Migration

Pour migrer vers l’analyse de code source :

  1. Activez ou installez les analyseurs .NET. Au même titre que les infractions aux règles d’analyse héritée, les infractions à l’analyse de code source s’affichent dans la fenêtre Liste d’erreurs de Visual Studio. De plus, les infractions à l’analyse de code source s’affichent également dans l’éditeur de code avec des lignes ondulées sous le code concerné. La couleur de la ligne ondulée dépend du paramètre de gravité de la règle. Pour voir l’état des règles déplacées vers les nouveaux analyseurs .NET, consultez Règles déplacées et non déplacées.

    Notes

    Avant Visual Studio 2019 version 16.8 et .NET 5.0, ces analyseurs étaient fournis sous forme de Microsoft.CodeAnalysis.FxCopAnalyzerspackage NuGet. À partir de Visual Studio 2019 version 16.8 et .NET 5.0, ces analyseurs sont inclus dans le SDK .NET. Ils sont également disponibles sous forme de Microsoft.CodeAnalysis.NetAnalyzerspackage NuGet. Pour plus d’informations, consultez Migrer des analyseurs FxCop vers les analyseurs .NET.

  2. Pour résoudre CA0507, vérifiez que l’analyse de code héritée est désactivée pour le projet. Dans le fichier projet, définissez la propriété RunCodeAnalysis sur false :

    <RunCodeAnalysis>false</RunCodeAnalysis>

    Vous pouvez également ouvrir Propriétés du projet>Analyse du code et désactiver le paramètre Exécuter pendant la génération.

Configuration

Pour en savoir plus sur la configuration des analyseurs .NET :