Partager via


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

L’analyse source par les analyseurs de la plateforme du compilateur .NET (« Roslyn ») remplace l’analyse héritée pour le code managé. Pour les modèles de projet plus récents tels que les projets .NET Core et .NET Standard, l’analyse héritée n’est pas disponible.

De nombreuses règles d’analyse héritées (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 du code source pendant l’exécution du compilateur. Les résultats de l’analyseur sont signalés avec les résultats du compilateur.

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

Migration

Pour migrer vers l’analyse source :

  1. Activez ou installez les analyseurs .NET. Comme les violations de règles d’analyse héritées, les violations d’analyse du code source apparaissent dans la fenêtre Liste d’erreurs dans Visual Studio. En outre, les violations d’analyse du code source s’affichent également dans l’éditeur de code sous forme de zigzags sous le code incriminé. La couleur de l'soulignement ondulé dépend du paramètre de gravité de la règle. Pour afficher l’état des règles transférées vers les nouveaux analyseurs .NET, consultez les règles portées et nonportées.

    Remarque

    Avant Visual Studio 2019 16.8 et .NET 5.0, ces analyseurs sont fournis en tant que Microsoft.CodeAnalysis.FxCopAnalyzerspackage NuGet. À compter de Visual Studio 2019 16.8 et .NET 5.0, ces analyseurs sont inclus dans le Kit de développement logiciel (SDK) .NET. Ils sont également disponibles en tant que Microsoft.CodeAnalysis.NetAnalyzerspackage NuGet. Pour plus d’informations, consultez Migrer des analyseurs FxCop vers des analyseurs .NET.

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

    <RunCodeAnalysis>false</RunCodeAnalysis>

    Vous pouvez également ouvrir les propriétés du projet>Analyse du code et désactiver le paramètre Exécuter lors de la construction.

Paramétrage

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