警告 CA2015:请勿为派生自 MemoryManager<T> 的类型定义终结器
从 .NET 5 开始,默认启用 .NET 代码分析器规则 CA2015。 对于派生自定义终结器的 MemoryManager<T> 的任何类型,它都会生成一个生成警告。
更改说明
从 .NET 5 开始,.NET SDK 包括 .NET 源代码分析器。 其中一些规则会默认启用,包括 CA2015。 如果项目包含违反此规则的代码,并已被配置为将警告视为错误,则此更改可能会中断生成。
派生自定义终结器的 MemoryManager<T> 的规则 CA2015 标记类型。 将终结器添加到派生自 MemoryManager<T> 的类型可能表明存在 bug。 这表明在 Span<T> 中获得的本机资源正在被清除,同时 Span<T> 可能仍在使用该资源。
引入的版本
5.0
建议操作
删除终结器定义。 有关详细信息,请参阅 CA2015。
若要完全禁用代码分析,请在项目文件中将
EnableNETAnalyzers
设置为false
。 有关详细信息,请参阅 EnableNETAnalyzers。
受影响的 API
无法通过 API 分析检测到。
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈