Udostępnij przez


Przestarzałe interfejsy API z niestandardowymi identyfikatorami diagnostycznymi

Niektóre interfejsy API zostały oznaczone jako przestarzałe, począwszy od platformy .NET 5. Ta zmiana powodująca niezgodność jest specyficzna dla interfejsów API, które zostały oznaczone jako przestarzałe z niestandardowym identyfikatorem diagnostycznym. Ignorowanie domyślnego identyfikatora diagnostycznego przestarzałości, jakim jest CS0618 w kompilatorze C#, nie ignoruje ostrzeżeń generowanych przez kompilator podczas używania tych interfejsów API.

Zmień opis

W poprzednich wersjach platformy .NET te interfejsy API mogą być używane bez żadnego ostrzeżenia dotyczącego kompilacji. W programie .NET 5 i nowszych wersjach użycie tych interfejsów API powoduje wygenerowanie ostrzeżenia w czasie kompilacji lub błędu z niestandardowym identyfikatorem diagnostycznym. Użycie niestandardowych identyfikatorów diagnostycznych umożliwia pomijanie ostrzeżeń dotyczących przestarzałości indywidualnie, zamiast pomijania wszystkich takich ostrzeżeń.

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

Identyfikator diagnostyczny Opis Ciężkość
SYSLIB0001 Kodowanie UTF-7 jest niezabezpieczone i nie powinno być używane. Zamiast tego rozważ użycie protokołu UTF-8. Ostrzeżenie
SYSLIB0002 PrincipalPermissionAttribute nie jest honorowany przez środowisko uruchomieniowe i nie może być używany. Błąd
SYSLIB0003 Zabezpieczenia dostępu kodu (CAS) nie są obsługiwane ani honorowane przez środowisko uruchomieniowe. Ostrzeżenie
SYSLIB0004 Funkcja regionu wykonywania ograniczonego (CER) nie jest obsługiwana. Ostrzeżenie
SYSLIB0005 Globalna pamięć podręczna (GAC) nie jest obsługiwana. Ostrzeżenie
SYSLIB0006 Thread.Abort() nie jest obsługiwany i rzuca PlatformNotSupportedException. Ostrzeżenie
SYSLIB0007 Domyślna implementacja tego algorytmu kryptografii nie jest obsługiwana. Ostrzeżenie
SYSLIB0008 Interfejs CreatePdbGenerator() API nie jest obsługiwany i zgłasza błąd PlatformNotSupportedException. Ostrzeżenie
SYSLIB0009 Metody AuthenticationManager.Authenticate i AuthenticationManager.PreAuthenticate nie są obsługiwane i zgłaszają wartość PlatformNotSupportedException. Ostrzeżenie
SYSLIB0010 Niektóre interfejsy API komunikacji zdalnie nie są obsługiwane i zgłaszają wyjątek PlatformNotSupportedException. Ostrzeżenie
SYSLIB0011 BinaryFormatter serializacja jest przestarzała i nie powinna być używana. Ostrzeżenie
SYSLIB0012 Assembly.CodeBase i Assembly.EscapedCodeBase są uwzględniane tylko w przypadku zgodności programu .NET Framework. Użyj Assembly.Location zamiast tego. Ostrzeżenie

Wersja wprowadzona

.NET 5.0

  • 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 wartości identyfikatora diagnostycznego SYSLIBxxxx.

Interfejsy API, których dotyczy problem

SYSLIB0001

SYSLIB0002

SYSLIB0003

Klasy w System.Security.Permissions przestrzeni nazw:

Klasy pochodzące z CodeAccessSecurityAttributeklasy :

Interfejsy

Klasy implementujące IStackWalk:

Klasy implementujące IPermission:

Klasy pochodzące z CodeAccessPermissionklasy :

Klasy pochodzące z ResourcePermissionBaseklasy :

Wyliczenia w System.Security.Permissions przestrzeni nazw:

Klasy i składowe, które zależą od typów zabezpieczeń dostępu do kodu:

SYSLIB0004

SYSLIB0005

SYSLIB0006

SYSLIB0007

SYSLIB0008

SYSLIB0009

SYSLIB0010

SYSLIB0011

SYSLIB0012

Zobacz także