CA0001

Une exception a été levée dans l’outil d’analyse du code managé, qui n’indique pas une condition d’erreur attendue.

Cette erreur est générée dans les cas suivants :

  • Défaut dans une règle personnalisée

    Dans ce cas, l’erreur indique la règle et la cible. Voici à quoi peut ressembler cette erreur :

    Internal Error CA0001: Rule=Microsoft.Usage#CA2214, Target=B..ctor() : Object reference not set to an instance of an object. (Erreur interne CA0001 : Règle=Microsoft.Usage#CA2214, Cible=B..ctor() : Référence d’objet non définie sur une instance d’un objet.)

    Pour obtenir plus d’informations de diagnostic, consultez le fichier CodeAnalysisReport.xml dans le dossier \obj. Le rapport indique le type d’exception, la pile, le type, le message et la pile de toutes les exceptions internes. Voici à quoi peut ressembler un rapport CodeAnalysisReport.xml pour l’exception précédente :

    <Exception Keyword="CA0001" Kind="Rule" TypeName="DoNotCallOverridableMethodsInConstructors" Category="Microsoft.Usage" CheckId="CA2214" Target="B..ctor()">
      <Type>System.NullReferenceException</Type>
      <ExceptionMessage>Object reference not set to an instance of an object.</ExceptionMessage>
      <StackTrace>   at Microsoft.FxCop.Rules.Usage.DoNotCallOverridableMethodsInConstructors.CheckCallees(Method method, Boolean isCallVirt) in d:\rules\DoNotCallOverridableMethodsInConstructors.cs:line 107 at Microsoft.FxCop.Rules.Usage.DoNotCallOverridableMethodsInConstructors.CheckCallees(Method method, Boolean isCallVirt) in d:\rules\DoNotCallOverridableMethodsInConstructors.cs:line 128 at Microsoft.FxCop.Rules.Usage.DoNotCallOverridableMethodsInConstructors.Check(Member member) in d:\rules\DoNotCallOverridableMethodsInConstructors.cs:line 58 at Microsoft.FxCop.Engines.Introspection.AnalysisVisitor.CheckMember(Member member, NodeBase target) in d:\Engines\Introspection\AnalysisVisitor.cs:line 743</StackTrace>
    </Exception>
    

    Dans le rapport précédent, une exception s’est produite à la ligne 107 du fichier DoNotCallOverridableMethodsInConstructors.cs. Toutes les autres traces indiquent le chemin d’exécution qui mène à l’exception.

  • Défaut inconnu dans l’outil d’analyse du code managé

    Dans ce cas, l’erreur s’affiche sans les attributs Rule, TypeName ou Category dans le fichier CodeAnalysisReport.xml et le message suivant s’affiche sur la console :

    Internal Error CA0001: Object reference not set to an instance of an object. (Erreur interne CA0001 : Référence d’objet non définie sur une instance d’un objet.)

    Essayez de réécrire la ligne pour laquelle l’erreur est signalée ou plusieurs lignes de code autour de cette ligne. Si cela ne fonctionne pas, contactez les services de support technique Microsoft.

Voir aussi