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
Azione consigliata
Rimuovere la definizione del finalizzatore. Per ulteriori informazioni, vedere CA2015.
Per disabilitare completamente l'analisi del codice, impostare
EnableNETAnalyzers
sufalse
nel file di progetto. Per altre informazioni, vedere EnableNETAnalyzers.
API interessate
Non rilevabile tramite analisi dell'API.
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per