CA0001
在 Managed 程式碼分析工具內引發的例外狀況,不會指出預期的錯誤狀況。
若發生下列情況,則會產生這個錯誤:
自訂規則中的缺失
在此情況下,錯誤會報告規則及目標。 範例錯誤看起來和下列類似:
內部錯誤 CA0001: Rule=Microsoft.Usage#CA2214, Target=B..ctor() : 並未將物件參考設定為物件的執行個體。
如需詳細的診斷資訊,請檢視 \obj 資料夾中的 CodeAnalysisReport.xml。 這個報告會列出例外狀況類型、堆疊、型別、訊息及所有內部例外狀況的堆疊。 上一個例外狀況的範例 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>
在上一個報告中,DoNotCallOverridableMethodsInConstructors.cs 檔案的第 107 行會發生例外狀況。 所有的其他堆疊追蹤都會顯示導致例外狀況的執行路徑。
Managed 程式碼分析工具中的不明缺失
在此情況下,會出現這個錯誤,但 CodeAnalysisReport.xml 中不會有 Rule、TypeName 或 Category 屬性 (Attribute),且下列訊息會出現在主控台 (Console) 上:
內部錯誤 CA0001: 並未將物件參考設定為物件的執行個體。
嘗試重新撰寫發生錯誤的程式行,或該行附近的幾行程式碼。 如果這樣仍然無效,請聯繫 Microsoft 產品支援服務。
請參閱
概念
在 Application Lifecycle Management 工具中疑難排解錯誤的資源