Condividi tramite


API obsolete con ID di diagnostica non predefiniti (.NET 8)

Alcune API sono state contrassegnate come obsolete, a partire da .NET 8. Questa modifica che causa un'interruzione è specifica per le API contrassegnate come obsolete con un ID di diagnostica personalizzato. L'eliminazione dell'ID di diagnostica di obsolescenza predefinito, ovvero CS0618 per il compilatore C#, non elimina gli avvisi generati dal compilatore quando vengono usate queste API.

Descrizione delle modifiche

Nelle versioni precedenti di .NET queste API possono essere usate senza avvisi di compilazione. In .NET 8 e versioni successive l'uso di queste API genera un avviso o un errore in fase di compilazione con un ID di diagnostica personalizzato. L'uso di ID di diagnostica personalizzati consente di eliminare singolarmente gli avvisi di obsolescenza anziché eliminare tutti gli avvisi di obsolescenza.

La tabella seguente elenca gli ID di diagnostica personalizzati e i relativi messaggi di avviso corrispondenti per le API obsolete.

ID di diagnostica Descrizione Gravità
SYSLIB0011 La serializzazione BinaryFormatter è obsoleta Avviso/Errore
SYSLIB0048 RSA.EncryptValue(Byte[]) e RSA.DecryptValue(Byte[]) sono obsoleti. In alternativa, usare RSA.Encrypt e RSA.Decrypt. Avviso
SYSLIB0049 JsonSerializerOptions.AddContext è obsoleto. Per registrare un jsonSerializerContext, usare la proprietà TypeInfoResolver o TypeInfoResolverChain. Avviso
SYSLIB0050 La serializzazione basata su formattatore è obsoleta e non deve essere usata. Avviso
SYSLIB0051 Le API che supportano la serializzazione obsoleta basata su formattatore sono obsolete. Non devono essere chiamate o estese dal codice dell'applicazione. Avviso
SYSLIB0052 Le API che supportano meccanismi obsoleti per l'estendibilità Regex sono obsolete. Avviso
SYSLIB0053 AesGcm deve indicare le dimensioni del tag necessarie per la crittografia e la decrittografia. Utilizzare un costruttore che accetta le dimensioni del tag. Avviso

Versione introdotta

.NET 8

Tipo di modifica che causa un'interruzione

Queste API obsolete possono influire sulla compatibilità dell'origine.

  • Seguire le indicazioni specifiche fornite per ogni ID di diagnostica usando il collegamento URL fornito nell'avviso.

  • Non è possibile eliminare avvisi o errori per questi elementi obsoleti usando l'ID di diagnostica standard per i tipi o i membri obsoleti. Usare invece il valore ID di diagnostica SYSLIBxxxx personalizzato.

API interessate

SYSLIB0011

SYSLIB0048

SYSLIB0049

SYSLIB0050

SYSLIB0051

Le API SYSLIB0051 obsolete sono organizzate in base allo spazio dei nomi.

Spazio dei nomi Microsoft.CSharp.RuntimeBinder

Spazio dei nomi Microsoft.VisualBasic.FileIO

spazio dei nomi di sistema

Spazio dei nomi System.Collections

Spazio dei nomi System.Collections.Generic

Spazio dei nomi System.Collections.Specialized

Spazio dei nomi System.ComponentModel

Spazio dei nomi System.ComponentModel.Composition

Spazio dei nomi System.ComponentModel.Composition.Primitives

Spazio dei nomi System.ComponentModel.DataAnnotations

Spazio dei nomi System.ComponentModel.Design

Spazio dei nomi System.Configuration

Spazio dei nomi System.Data

Spazio dei nomi System.Data.Common

Spazio dei nomi System.Data.Odbc

Spazio dei nomi System.Data.OleDb

Spazio dei nomi System.Data.SqlTypes

Spazio dei nomi System.Diagnostics.Eventing.Reader

Spazio dei nomi System.Diagnostics.Tracing

Spazio dei nomi System.DirectoryServices

Spazio dei nomi System.DirectoryServices.AccountManagement

Spazio dei nomi System.DirectoryServices.ActiveDirectory

Spazio dei nomi System.DirectoryServices.Protocols

Spazio dei nomi System.Formats.Asn1

Spazio dei nomi System.Formats.Cbor

Spazio dei nomi System.Globalization

Spazio dei nomi System.IO

Spazio dei nomi System.Management

Spazio dei nomi System.Media

Spazio dei nomi System.Net

Spazio dei nomi System.Net.Mail

Spazio dei nomi System.Net.NetworkInformation

Spazio dei nomi System.Net.Sockets

Spazio dei nomi System.Reflection

Spazio dei nomi System.Reflection.Metadata

Spazio dei nomi System.Resources

Spazio dei nomi System.Runtime.CompilerServices

Spazio dei nomi System.Runtime.InteropServices

Spazio dei nomi System.Runtime.Serialization

Spazi dei nomi System.Security

Spazio dei nomi System.Security.AccessControl

Spazio dei nomi System.Security.Authentication

Spazio dei nomi System.Security.Claims

Spazio dei nomi System.Security.Cryptography

Spazio dei nomi System.Security.Policy

Spazio dei nomi System.Security.Principal

Spazio dei nomi System.Text.Json

Spazio dei nomi System.Text.RegularExpressions

Spazio dei nomi System.Threading

Spazio dei nomi System.Threading.Channels

Spazio dei nomi System.Threading.Tasks

Spazio dei nomi System.Transactions

Spazio dei nomi System.Xml

Spazio dei nomi System.Xml.Schema

Spazio dei nomi System.Xml.XPath

Spazio dei nomi System.Xml.Xsl

SYSLIB0052

SYSLIB0053

Vedi anche