警告 CA2015:請勿針對衍生自 MemoryManager<T> 的型別定義完成項
從 .NET 5 開始,系統會預設啟用 .NET 程式碼分析器規則 CA2015。 這項規則會針對衍生自 MemoryManager<T> 並定義完成項的任何型別產生組建警告。
變更描述
從 .NET 5 開始,.NET SDK 包含 .NET 原始程式碼分析器。 這些規則中有些會預設啟用,包括 CA2015。 如果您的專案包含違反此規則的程式碼,且設定為將警告視為錯誤,則此項變更會中斷您的組建。
規則 CA2015 會標示衍生自 MemoryManager<T> 且定義完成項的型別。 為衍生自 MemoryManager<T> 的型別新增新增完成項很容易發生錯誤。 系統會認為原本可於 Span<T> 內取得的原生資源遭到清除,而清除時 Span<T> 可能仍在使用。
導入的版本
5.0
建議的動作
移除完成項定義。 如需詳細資訊,請參閱 CA2015。
若要完全停用程式碼分析,請在專案檔中將
EnableNETAnalyzers
設定為false
。 如需詳細資訊,請參閱 EnableNETAnalyzers。
受影響的 API
無法透過 API 分析偵測。
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應