Avviso CA2015: Non definire finalizzatori per i tipi derivati da MemoryManager<T>

La regola dell'analizzatore del codice .NET CA2015 è abilitata, per impostazione predefinita, a partire da .NET 5. Genera un avviso di compilazione per tutti i tipi derivati da MemoryManager<T> che definiscono un finalizzatore.

Descrizione delle modifiche

A partire da .NET 5, .NET SDK include analizzatori del codice sorgente .NET. Diverse di queste regole sono abilitate, per impostazione predefinita, tra cui CA2015. Se il progetto contiene codice che viola questa regola ed è configurato per considerare gli avvisi come errori, questa modifica potrebbe interrompere la compilazione.

Regola dei tipi di flag CA2015 derivati da MemoryManager<T> che definiscono un finalizzatore. L’aggiunta di un finalizzatore a un tipo che deriva da MemoryManager<T> è probabilmente un’indicazione di un bug. Suggerisce che si sta pulendo una risorsa nativa che potrebbe essere stata ottenuta in un Span<T>, potenzialmente mentre è ancora in uso da parte del Span<T>.

Versione introdotta

5.0

  • Rimuovere la definizione del finalizzatore. Per ulteriori informazioni, vedere CA2015.

  • Per disabilitare completamente l'analisi del codice, impostare EnableNETAnalyzers su false nel file di progetto. Per altre informazioni, vedere EnableNETAnalyzers.

API interessate

Non rilevabile tramite analisi dell'API.