Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die .NET-Codeanalyseregel CA2015 ist ab .NET 5 standardmäßig aktiviert. Sie erzeugt eine Buildwarnung für alle Typen, die von MemoryManager<T> abgeleitet werden und einen Finalizer definieren.
Änderungsbeschreibung
Ab .NET 5 umfasst das .NET SDK .NET-Quellcodeanalysen. Mehrere dieser Regeln, einschließlich CA2015, werden standardmäßig aktiviert. Wenn Ihr Projekt Code enthält, der gegen diese Regel verstößt und dafür konfiguriert ist, Warnungen als Fehler zu interpretieren, könnte es sich hierbei um einen Breaking Change für Ihr Build handeln.
Mithilfe der Regel CA2015 werden Typen gekennzeichnet, die von MemoryManager<T> abgeleitet werden und einen Finalizer definieren. Wenn ein Finalizer zu einem von MemoryManager<T> abgeleiteten Typen hinzugefügt wird, liegt wahrscheinlich ein Fehler vor. Dieser deutet darauf hin, dass eine native Ressource, die in einer Span<T>-Struktur abgerufen werden könnte, bereinigt wird, während sie möglicherweise noch von Span<T> verwendet wird.
Eingeführt in Version
5.0
Empfohlene Maßnahme
Entfernen Sie die Definition des Finalizers. Weitere Informationen finden Sie unter CA2015.
Legen Sie
EnableNETAnalyzers
in Ihrer Projektdatei auffalse
fest, um die Codeanalyse vollständig zu deaktivieren. Weitere Informationen finden unter EnableNETAnalyzers.
Betroffene APIs
Nicht über API-Analyse erkennbar.