Procédure pas à pas : analyse du code managé pour les erreurs de code
Dans cette procédure pas à pas, vous analysez un projet managé pour détecter les erreurs de code à l'aide de l'outil d'analyse du code.
Cette procédure pas à pas vous guidera tout au long du processus d'utilisation de l'analyse de code pour analyser les assemblys de code managé .NET en conformité avec les règles de conception de Microsoft .NET Framework.
Dans cette procédure pas à pas, vous :
- Analyser et corriger les avertissements d'erreur de code.
Composants requis
- Visual Studio Premium.
Créer une bibliothèque de classes
Pour créer une bibliothèque de classes |
|
Analyser le projet
Pour analyser un projet managé afin de détecter des erreurs de code
Sélectionnez le projet CodeAnalysisManagedDemo dans l'Explorateur de solutions.
Dans le menu Projet, cliquez sur Propriétés.
La page des propriétés du projet CodeAnalysisManagedDemo s'ouvre.
Cliquez sur Analysedu code.
Assurez-vous que Activer l'Analyse du Code lors de la Build (définit la constante CODE_ANALYSIS) soit coché.
Dans la liste déroulante Exécuter cet ensemble de règles, sélectionnez Toutes les règles Microsoft.
Dans le menu Fichier, cliquez sur Enregistrer les éléments sélectionnés, puis fermez les pages de propriétés ManagedDemo.
Dans le menu Générer, cliquez sur Générer ManagedDemo.
Les avertissements de build du projet CodeAnalysisManagedDemo sont signalés dans les fenêtres Analyse du Code et Sortie.
Si la fenêtre Analyse du Code n'apparaît pas, dans le menu Analyser, choisissez Fenêtres puis Choisir l'Analyse du Code.
Corriger les problèmes liés à l'analyse du code
Pour corriger les violations des règles d'analyse du code
Dans le menu Affichage, cliquez sur Liste d'erreurs.
Selon le profil de développeur que vous avez choisi, vous devez peut-être pointer sur Autres fenêtres dans le menu Affichage, puis cliquer sur Liste d'erreurs.
Dans l'Explorateur de solutions, choisissez Afficher tous les fichiers.
Ensuite, développez le nœud Propriétés, puis ouvrez le fichier AssemblyInfo.cs.
Utilisez le tableau suivant pour corriger les avertissements :
Avertissements |
Pour corriger l'avertissement |
---|---|
CA1014 : Marquer les assemblys avec CLSCompliantAttribute : Microsoft.Design : 'demo' doit être marqué avec CLSCompliantAttribute et sa valeur doit être true. |
|
CA1032 : Implémenter des constructeurs d'exception standard : Microsoft.Design : Ajouter le constructeur suivant à cette classe : public demo(String) |
|
CA1032 : Implémenter des constructeurs d'exception standard : Microsoft.Design : Ajouter le constructeur suivant à cette classe : public demo(String, Exception) |
|
CA1032 : Implémenter des constructeurs d'exception standard : Microsoft.Design : Ajoutez le constructeur suivant à cette classe : protected demo(SerializationInfo, StreamingContext) |
|
CA1032 : Implémenter des constructeurs d'exception standard : Microsoft.Design : Ajoutez le constructeur suivant à cette classe : public demo() |
|
CA1709 : La casse des identificateurs doit être correcte: Microsoft.Naming : corrigez la casse du nom de l'espace de noms « testCode » en le redéfinissant sur « TestCode ». |
|
CA1709 : La casse des identificateurs doit être correcte: Microsoft.Naming : corrigez la casse du nom de type « demo » en le redéfinissant sur « Demo ». |
|
CA1709 : La casse des identificateurs doit être correcte: Microsoft.Naming : corrigez la casse du nom de membre « item » en le redéfinissant sur « Item ». |
|
CA1710 : Les identificateurs doivent être dotés d'un suffixe correct : Microsoft.Naming : Renommez 'testCode.demo' pour qu'il se termine par 'Exception'. |
|
CA2210 : Les assemblys doivent porter des noms forts valides : Signez 'ManagedDemo' avec une clé de nom fort. |
|
CA2237 : Marquer les types ISerializable avec SerializableAttribute : Microsoft.Usage : Ajoutez un attribut [Serializable] au type 'demo' car ce type implémente ISerializable. |
|
Après avoir effectué les modifications, le fichier Class1.cs doit se présenter comme suit :
//CodeAnalysisManagedDemo
//Class1.cs
using System;
using System.Runtime.Serialization;
namespace TestCode
{
[Serializable()]
public class DemoException : Exception
{
public DemoException () : base() { }
public DemoException(String s) : base(s) { }
public DemoException(String s, Exception e) : base(s, e) { }
protected DemoException(SerializationInfo info, StreamingContext context) : base(info, context) { }
public static void Initialize(int size) { }
protected static readonly int _item;
public static int Item { get { return _item; } }
}
}
Exclure les avertissements d'analyse du code
Pour exclure les avertissements d'erreur de code
Pour chacun des avertissements restants, procédez comme suit :
Dans la fenêtre d'Analyse du Code, sélectionnez l'avertissement.
Choisissez Actions, puis choisissez Supprimer le Message, puis choisissez Dans le Fichier de Suppression de Projet.
Pour plus d’informations, consultez Comment : supprimer des avertissements à l'aide de l'élément de menu
Régénérez le projet.
Le projet est généré sans avertissement ni erreur.