Udostępnij za pośrednictwem


Obsoletions interfejsu API z nie domyślnymi identyfikatorami diagnostycznymi (.NET 8)

Niektóre interfejsy API zostały oznaczone jako przestarzałe, począwszy od platformy .NET 8. Ta zmiana powodująca niezgodność jest specyficzna dla interfejsów API, które zostały oznaczone jako przestarzałe przy użyciu niestandardowego identyfikatora diagnostycznego. Pomijanie domyślnego identyfikatora diagnostycznego obsoletion, który jest CS0618 dla kompilatora języka C#, nie pomija ostrzeżeń generowanych przez kompilator podczas użycia tych interfejsów API.

Opis zmiany

W poprzednich wersjach platformy .NET te interfejsy API mogą być używane bez żadnego ostrzeżenia dotyczącego kompilacji. W przypadku platformy .NET 8 lub nowszych wersji użycie tych interfejsów API powoduje wygenerowanie ostrzeżenia lub błędu kompilatora z niestandardowym identyfikatorem diagnostycznym. Użycie niestandardowych identyfikatorów diagnostycznych umożliwia pomijanie ostrzeżeń dotyczących obsoletion indywidualnie zamiast pomijania wszystkich ostrzeżeń dotyczących obsoletionu.

W poniższej tabeli wymieniono niestandardowe identyfikatory diagnostyczne i odpowiadające im komunikaty ostrzegawcze dla przestarzałych interfejsów API.

Identyfikator diagnostyczny opis Waga błędu
SYSLIB0011 Serializacja binaryFormatter jest przestarzała Ostrzeżenie/błąd
SYSLIB0048 RSA.EncryptValue(Byte[]) i RSA.DecryptValue(Byte[]) są przestarzałe. Użyj i RSA.EncryptRSA.Decrypt zamiast tego. Ostrzeżenie
SYSLIB0049 Plik JsonSerializerOptions.AddContext jest przestarzały. Aby zarejestrować właściwość JsonSerializerContext, użyj właściwości TypeInfoResolver lub TypeInfoResolverChain. Ostrzeżenie
SYSLIB0050 Serializacja oparta na formatowaniu jest przestarzała i nie powinna być używana. Ostrzeżenie
SYSLIB0051 Interfejsy API obsługujące przestarzałą serializacji opartą na formatowaniu są przestarzałe. Nie powinny być wywoływane ani rozszerzone przez kod aplikacji. Ostrzeżenie
SYSLIB0052 Interfejsy API, które obsługują przestarzałe mechanizmy rozszerzalności wyrażeń regularnych, są przestarzałe. Ostrzeżenie
SYSLIB0053 AesGcm powinien wskazywać wymagany rozmiar tagu dla szyfrowania i odszyfrowywania. Użyj konstruktora, który akceptuje rozmiar tagu. Ostrzeżenie

Wprowadzona wersja

.NET 8

Typ zmiany powodującej niezgodność

Te obsoletions mogą mieć wpływ na zgodność źródła.

  • Postępuj zgodnie z określonymi wskazówkami podanymi dla każdego identyfikatora diagnostycznego przy użyciu linku adresu URL podanego w ostrzeżeniu.

  • Ostrzeżenia lub błędy dla tych obsoletions nie mogą być pomijane przy użyciu standardowego identyfikatora diagnostycznego dla przestarzałych typów lub elementów członkowskich; Zamiast tego użyj niestandardowej SYSLIBxxxx wartości identyfikatora diagnostycznego.

Dotyczy interfejsów API

SYSLIB0011

SYSLIB0048

SYSLIB0049

SYSLIB0050

SYSLIB0051

Obsoletions SYSLIB0051 interfejsu API są zorganizowane tutaj według przestrzeni nazw.

Microsoft.CSharp.RuntimeBinder, przestrzeń nazw

Microsoft.VisualBasic.FileIO, przestrzeń nazw

Przestrzeń nazw systemu

Przestrzeń nazw System.Collections

System.Collections.Generic, przestrzeń nazw

System.Collections.Wyspecjalizowana przestrzeń nazw

Przestrzeń nazw System.ComponentModel

Przestrzeń nazw System.ComponentModel.Composition

Przestrzeń nazw System.ComponentModel.Composition.Primitives

Przestrzeń nazw System.ComponentModel.DataAnnotations

System.ComponentModel.Design przestrzeni nazw

Przestrzeń nazw System.Configuration

Przestrzeń nazw System.Data

Przestrzeń nazw System.Data.Common

Przestrzeń nazw System.Data.Odbc

Przestrzeń nazw System.Data.OleDb

Przestrzeń nazw System.Data.SqlTypes

Przestrzeń nazw System.Diagnostics.Eventing.Reader

Przestrzeń nazw System.Diagnostics.Tracing

Przestrzeń nazw System.DirectoryServices

System.DirectoryServices.AccountManagement, przestrzeń nazw

Przestrzeń nazw System.DirectoryServices.ActiveDirectory

Przestrzeń nazw System.DirectoryServices.Protocols

Przestrzeń nazw System.Formats.Asn1

Przestrzeń nazw System.Formats.Cbor

Przestrzeń nazw System.Globalization

System.IO przestrzeni nazw

Przestrzeń nazw System.Management

Przestrzeń nazw System.Media

System.Net przestrzeni nazw

Przestrzeń nazw System.Net.Mail

Przestrzeń nazw System.Net.NetworkInformation

Przestrzeń nazw System.Net.Sockets

System. Przestrzeń nazw Emocje ion

System. Emocje ion. Przestrzeń nazw metadanych

Przestrzeń nazw System.Resources

Przestrzeń nazw System.Runtime.CompilerServices

Przestrzeń nazw System.Runtime.InteropServices

Przestrzeń nazw System.Runtime.Serialization

Przestrzeń nazw System.Security

Przestrzeń nazw System.Security.AccessControl

Przestrzeń nazw System.Security.Authentication

Przestrzeń nazw System.Security.Claims

Przestrzeń nazw System.Security.Cryptography

Przestrzeń nazw System.Security.Policy

Przestrzeń nazw System.Security.Principal

Przestrzeń nazw System.Text.Json

Przestrzeń nazw System.Text.RegularExpressions

Przestrzeń nazw System.Threading

Przestrzeń nazw System.Threading.Channels

Przestrzeń nazw System.Threading.Tasks

Przestrzeń nazw System.Transactions

Przestrzeń nazw System.Xml

Przestrzeń nazw System.Xml.Schema

Przestrzeń nazw System.Xml.XPath

Przestrzeń nazw System.Xml.Xsl

SYSLIB0052

SYSLIB0053

Zobacz też