Предупреждение CA2015: не определяйте методы завершения для типов, производных от MemoryManager<T>
Правило CA2015 анализатора кода .NET включено по умолчанию, начиная с .NET 5. Оно создает предупреждение сборки для всех типов, производных от MemoryManager<T>, определяющих метод завершения.
Описание изменения
Начиная с .NET 5 пакет SDK для .NET включает анализаторы исходного кода .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 Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по