Partager via


Vue d’ensemble de l’analyse héritée du code managé dans Visual Studio

Visual Studio peut effectuer une analyse du code managé de deux manières : avec l’analyse héritée, également appelée analyse statique FxCop des assemblys managés et avec les analyseurs de code basés sur la plateforme de compilateur .NET plus modernes. Cette rubrique traite de l'analyse des systèmes hérités. Pour en savoir plus sur l’analyse du code basé sur la plateforme du compilateur .NET, consultez Vue d’ensemble des analyseurs basés sur la plateforme du compilateur .NET.

L’analyse du code pour le code managé analyse les assemblys managés et signale des informations sur les assemblys, telles que les violations des règles de programmation et de conception définies dans les instructions de conception .NET.

L’outil d’analyse représente les vérifications qu’il effectue pendant une analyse sous forme de messages d’avertissement. Les messages d’avertissement identifient les problèmes de programmation et de conception pertinents et fournissent des informations sur la façon de résoudre le problème.

Remarque

L’analyse héritée (analyse de code statique) n’est pas prise en charge pour les projets .NET Core et .NET Standard dans Visual Studio. Si vous exécutez l’analyse du code sur un projet .NET Core ou .NET Standard dans le cadre de msbuild, vous verrez une erreur similaire à l’erreur : CA0055 : Impossible d’identifier la plateforme pour <your.dll>. Pour analyser du code dans des projets .NET Core ou .NET Standard, utilisez plutôt des analyseurs de code .

Intégration de l’IDE (environnement de développement intégré)

Vous pouvez exécuter l’analyse du code manuellement ou automatiquement sur votre projet.

Pour exécuter l’analyse du code chaque fois que vous générez un projet, sélectionnez l’option dans la page de propriétés Analyse du code du projet. Pour plus d’informations, consultez Guide pratique pour activer et désactiver l’analyse automatique du code.

Pour exécuter manuellement l’analyse de code sur un projet, dans la barre de menus, choisissez Analyser>Exécuter l’analyse du code>Exécuter l’analyse de code sur <le projet>.

Ensembles de règles

Les règles d’analyse du code managé sont regroupées en ensembles de règles. Vous pouvez utiliser l’un des ensembles de règles standard Microsoft ou créer un ensemble de règles personnalisé pour répondre à un besoin spécifique.

Supprimer les avertissements

Souvent, il est utile d’indiquer qu’un avertissement n’est pas applicable. Cela informe le développeur et d’autres personnes qui peuvent passer en revue le code ultérieurement, qu’un avertissement a été examiné, puis supprimé ou ignoré.

La suppression des avertissements dans la source est implémentée via des attributs personnalisés. Pour supprimer un avertissement, ajoutez l’attribut SuppressMessage au code source, comme illustré dans l’exemple suivant :

[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1039:ListsAreStrongTyped")]
Public class MyClass
{
   // code
}

Pour plus d’informations, consultez Supprimer des avertissements.

Remarque

Si vous migrez un projet vers Visual Studio 2019, vous pouvez soudainement être confronté à un grand nombre d’avertissements d’analyse du code. Si vous n’êtes pas prêt à corriger les avertissements, vous pouvez tous les masquer en choisissant Analyser>Générer et masquer les problèmes actifs.

Exécuter l’analyse du code dans le cadre de la stratégie de validation

En tant qu’organisation, vous pouvez exiger que tous les enregistrements satisfassent à certaines politiques. En particulier, vous souhaitez vous assurer que vous suivez ces stratégies :

  • Il n’existe aucune erreur de build dans le code en cours d’enregistrement.

  • L’analyse du code est exécutée dans le cadre de la build la plus récente.

Pour ce faire, vous pouvez spécifier des politiques d'enregistrement. Pour plus d’informations, consultez Amélioration de la qualité du code avec les stratégies de validation de projet.

Intégration de l'équipe

Vous pouvez utiliser les fonctionnalités intégrées du système de génération pour exécuter l’outil d’analyse dans le cadre du processus de génération. Pour plus d’informations, consultez Azure Pipelines.