Поделиться через


CA0001

Обновлен: Ноябрь 2007

CA0001

В средстве анализа управляемого кода возникло исключение, которое не указывает на ожидаемую ошибку.

Эта ошибка возникает в следующих случаях.

  • Неполадка в пользовательском правиле

    В этом случае в сообщении об ошибке указывается правило и целевой объект. Это сообщение выглядит примерно следующим образом:

    Внутренняя ошибка CA0001: Rule=Microsoft.Usage#CA2214, Target=B..ctor() : В экземпляре объекта не задана ссылка на объект.

    Дополнительные диагностические сведения см. в файле CodeAnalysisReport.xml из папки \obj. В этом отчете перечисляются тип исключения, стек, тип, сообщение и стек всех внутренних исключений. Отчет CodeAnalysisReport.xml для предыдущего исключения выглядит примерно следующим образом:

    <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>

    </Exceptions>

    В предыдущем отчете указано, что исключение произошло в строке 107 файла DoNotCallOverridableMethodsInConstructors.cs. В остальных трассировках стека показан путь к этому исключению.

  • Неизвестная ошибка средства анализа управляемого кода

    В этом случае ошибка отображается без атрибутов Rule, TypeName и Category в файле CodeAnalysisReport.xml и на консоль выводится следующее сообщение:

    Внутренняя ошибка CA0001: В экземпляре объекта не задана ссылка на объект.

    Попробуйте переписать строку, в которой возникла ошибка, или несколько строк кода вокруг этой строки. Если это не поможет, обратитесь в службу технической поддержки Майкрософт.