警告 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 分析检测到。