Obsoletions interfejsu API z nie domyślnymi identyfikatorami diagnostycznymi (.NET 9)
Niektóre interfejsy API zostały oznaczone jako przestarzałe, począwszy od platformy .NET 9. 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 wersjach .NET 9 i nowszych 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 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 |
---|---|---|
SYSLIB0009 | AuthenticationManager nie jest obsługiwana. Metody nie będą zwracać żadnych operacji ani zgłaszać PlatformNotSupportedExceptionmetody . | Ostrzeżenie |
SYSLIB0014: Element WebRequest, HttpWebRequest, ServicePoint, WebClient są przestarzałe | ServicePointManager jest w pełni przestarzały. Ustawienia na ServicePointManager platformie nie mają wpływu SslStream lub HttpClient (to zachowanie nie uległo zmianie od platformy .NET 6). | Ostrzeżenie |
SYSLIB0054 | Thread.VolatileRead i Thread.VolatileWrite są przestarzałe. Użyj polecenia Volatile.Read lub Volatile.Write zamiast tego. | Ostrzeżenie |
SYSLIB0055 | AdvSimd.ShiftRightLogicalRoundedNarrowingSaturate* metody z podpisanymi parametrami są przestarzałe. Zamiast tego użyj niepodpisanych przeciążeń. |
Ostrzeżenie |
SYSLIB0056 | Assembly.LoadFrom AssemblyHashAlgorithm element niestandardowy jest przestarzały. Użyj przeciążeń bez elementu AssemblyHashAlgorithm . |
Ostrzeżenie |
SYSLIB0057 | X509Certificate2 i X509Certificate konstruktory dla zawartości binarnej i plików są przestarzałe. |
Ostrzeżenie |
Wprowadzona wersja
.NET 9
Typ zmiany powodującej niezgodność
Te obsoletions mogą mieć wpływ na zgodność źródła.
Zalecana akcja
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
SYSLIB0009
SYSLIB0014
SYSLIB0054
SYSLIB0055
- System.Runtime.Intrinsics.Arm.AdvSimd.Arm64.ShiftRightLogicalRoundedNarrowingSaturateScalar(Vector64<Int64>, Byte)
- System.Runtime.Intrinsics.Arm.AdvSimd.Arm64.ShiftRightLogicalRoundedNarrowingSaturateScalar(Vector64<Int16>, Byte)
- System.Runtime.Intrinsics.Arm.AdvSimd.Arm64.ShiftRightLogicalRoundedNarrowingSaturateScalar(Vector64<Int32>, Byte)
- System.Runtime.Intrinsics.Arm.AdvSimd.ShiftRightLogicalRoundedNarrowingSaturateLower(Vector128<Int16>, Byte)
- System.Runtime.Intrinsics.Arm.AdvSimd.ShiftRightLogicalRoundedNarrowingSaturateLower(Vector128<Int64>, Byte)
- System.Runtime.Intrinsics.Arm.AdvSimd.ShiftRightLogicalRoundedNarrowingSaturateLower(Vector128<Int32>, Byte)
- System.Runtime.Intrinsics.Arm.AdvSimd.ShiftRightLogicalRoundedNarrowingSaturateUpper(Vector64<SByte>, Vector128<Int16>, Byte)
- System.Runtime.Intrinsics.Arm.AdvSimd.ShiftRightLogicalRoundedNarrowingSaturateUpper(Vector64<Int16>, Vector128<Int32>, Byte)
- System.Runtime.Intrinsics.Arm.AdvSimd.ShiftRightLogicalRoundedNarrowingSaturateUpper(Vector64<Int32>, Vector128<Int64>, Byte)
SYSLIB0056
SYSLIB0057
- X509Certificate2(Byte[])
- X509Certificate2(ReadOnlySpan<Byte>)
- X509Certificate2(String)
- X509Certificate2(Byte[], SecureString)
- X509Certificate2(Byte[], String)
- X509Certificate2(String, SecureString)
- X509Certificate2(String, String)
- X509Certificate2(Byte[], SecureString, X509KeyStorageFlags)
- X509Certificate2(Byte[], String, X509KeyStorageFlags)
- X509Certificate2(ReadOnlySpan<Byte>, ReadOnlySpan<Char>, X509KeyStorageFlags)
- X509Certificate2(String, ReadOnlySpan<Char>, X509KeyStorageFlags)
- X509Certificate2(String, SecureString, X509KeyStorageFlags)
- X509Certificate2(String, String, X509KeyStorageFlags)
- X509Certificate(Byte[])
- X509Certificate(String)
- X509Certificate(Byte[], SecureString)
- X509Certificate(Byte[], String)
- X509Certificate(String, String, X509KeyStorageFlags)
- X509Certificate(String, SecureString)
- X509Certificate(String, String)
- X509Certificate(Byte[], SecureString, X509KeyStorageFlags)
- X509Certificate(Byte[], String, X509KeyStorageFlags)
- X509Certificate(String, SecureString, X509KeyStorageFlags)
- X509Certificate(String, String, X509KeyStorageFlags)
- Import(Byte[])
- Import(ReadOnlySpan<Byte>)
- Import(ReadOnlySpan<Byte>)
- Import(Byte[], String, X509KeyStorageFlags)
- Import(ReadOnlySpan<Byte>, ReadOnlySpan<Char>, X509KeyStorageFlags)
- Import(ReadOnlySpan<Byte>, String, X509KeyStorageFlags)
- Import(String, ReadOnlySpan<Char>, X509KeyStorageFlags)
- Import(String, String, X509KeyStorageFlags)
- CreateFromSignedFile(String)
Zobacz też
- Obsoletions interfejsu API z nie domyślnymi identyfikatorami diagnostycznymi (.NET 8)
- Obsoletions interfejsu API z nie domyślnymi identyfikatorami diagnostycznymi (.NET 7)
- Obsoletions interfejsu API z nie domyślnymi identyfikatorami diagnostycznymi (.NET 6)
- Obsoletions interfejsu API z nie domyślnymi identyfikatorami diagnostycznymi (.NET 5)
- Przestarzałe funkcje na platformie .NET 5+