Partilhar via


Obsolações de API com IDs de diagnóstico não padrão (.NET 8)

Algumas APIs foram marcadas como obsoletas, começando no .NET 8. Essa alteração de quebra é específica para APIs que foram marcadas como obsoletas com uma ID de diagnóstico personalizada. Suprimir a ID de diagnóstico de obsolescência padrão, que é CS0618 para o compilador C#, não suprime os avisos que o compilador gera quando essas APIs são usadas.

Alterar a descrição

Em versões anteriores do .NET, essas APIs podem ser usadas sem qualquer aviso de compilação. No .NET 8 e versões posteriores, o uso dessas APIs produz um aviso ou erro em tempo de compilação com uma ID de diagnóstico personalizada. O uso de IDs de diagnóstico personalizados permite suprimir os avisos de obsolescência individualmente, em vez de suprimir todos os avisos de obsolescência.

A tabela a seguir lista as IDs de diagnóstico personalizadas e suas mensagens de aviso correspondentes para APIs obsoletas.

ID de diagnóstico Description Gravidade
SYSLIB0011 A serialização BinaryFormatter está obsoleta Aviso/erro
SYSLIB0048 RSA.EncryptValue(Byte[]) e RSA.DecryptValue(Byte[]) são obsoletas. Use RSA.Encrypt e RSA.Decrypt em vez disso. Aviso
SYSLIB0049 JsonSerializerOptions.AddContext está obsoleto. Para registrar um JsonSerializerContext, use a propriedade TypeInfoResolver ou TypeInfoResolverChain. Aviso
SYSLIB0050 A serialização baseada em Formatter é obsoleta e não deve ser usada. Aviso
SYSLIB0051 As APIs que suportam a serialização obsoleta baseada em formatador estão obsoletas. Eles não devem ser chamados ou estendidos pelo código do aplicativo. Aviso
SYSLIB0052 As APIs que suportam mecanismos obsoletos para extensibilidade Regex estão obsoletas. Aviso
SYSLIB0053 AesGcm deve indicar o tamanho da etiqueta necessária para encriptação e desencriptação. Use um construtor que aceite o tamanho da tag. Aviso

Versão introduzida

.NET 8

Tipo de mudança de rutura

Essas obsolações podem afetar a compatibilidade da fonte.

  • Siga as orientações específicas fornecidas para cada ID de diagnóstico usando o link de URL fornecido no aviso.

  • Avisos ou erros para essas obsolescências não podem ser suprimidos usando o ID de diagnóstico padrão para tipos ou membros obsoletos; em vez disso, use o valor de ID de diagnóstico personalizado SYSLIBxxxx .

APIs afetadas

SYSLIB0011

SYSLIB0048

SYSLIB0049

SYSLIB0050

SYSLIB0051

As SYSLIB0051 obsolações da API são organizadas aqui por namespace.

Namespace Microsoft.CSharp.RuntimeBinder

Namespace Microsoft.VisualBasic.FileIO

Namespace do sistema

Namespace System.Collections

System.Collections.Generic namespace

System.Collections.Specialized namespace

Namespace System.ComponentModel

System.ComponentModel.Composition namespace

System.ComponentModel.Composition.Primitives namespace

System.ComponentModel.DataAnnotations namespace

System.ComponentModel.Design namespace

Namespace System.Configuration

Namespace System.Data

System.Data.Common namespace

System.Data.Odbc namespace

System.Data.OleDb namespace

System.Data.SqlTypes namespace

System.Diagnostics.Eventing.Reader namespace

System.Diagnostics.Tracing namespace

System.DirectoryServices namespace

Namespace System.DirectoryServices.AccountManagement

Namespace System.DirectoryServices.ActiveDirectory

System.DirectoryServices.Protocols namespace

System.Formats.Asn1 namespace

System.Formats.Cbor namespace

Namespace System.Globalization

System.IO namespace

Namespace System.Management

Namespace System.Media

System.Net namespace

Namespace System.Net.Mail

Namespace System.Net.NetworkInformation

Namespace System.Net.Sockets

Namespace System.Reflection

Namespace System.Reflection.Metadata

Namespace System.Resources

Namespace System.Runtime.CompilerServices

Namespace System.Runtime.InteropServices

System.Runtime.Serialization namespace

Namespace System.Security

System.Security.AccessControl namespace

System.Security.Authentication namespace

System.Security.Claims namespace

System.Security.Cryptography namespace

System.Security.Policy namespace

Namespace System.Security.Principal

System.Text.Json namespace

Namespace System.Text.RegularExpressions

Namespace System.Threading

Namespace System.Threading.Channels

Namespace System.Threading.Tasks

Namespace System.Transactions

Namespace System.Xml

System.Xml.Schema namespace

Namespace System.Xml.XPath

System.Xml.Xsl namespace

SYSLIB0052

SYSLIB0053

Consulte também