Поделиться через


Обзоление API с идентификаторами диагностики, не используемыми по умолчанию (.NET 9)

Некоторые API помечены как устаревшие, начиная с .NET 9. Это критическое изменение относится к API, которые были помечены как устаревшие с помощью пользовательского идентификатора диагностики. В случае отключения идентификатора диагностики устаревших элементов по умолчанию (CS0618 для компилятора C#) не отключаются предупреждения, создаваемые компилятором при использовании этих API.

Описание изменения

В предыдущих версиях .NET эти API можно использовать без каких-либо предупреждений сборки. В .NET 9 и более поздних версиях эти API создают предупреждение во время компиляции или ошибку с пользовательским идентификатором диагностики. Применение пользовательских идентификаторов диагностики позволяет отключать предупреждения об устаревших элементах по отдельности вместо общего запрета всех таких предупреждений.

В следующей таблице перечислены пользовательские идентификаторы диагностики и соответствующие им предупреждающие сообщения для устаревших API.

ИД диагностики Description Серьезность
SYSLIB0009 Функция AuthenticationManager не поддерживается. Методы не будут опу или бросать PlatformNotSupportedException. Предупреждение
SYSLIB0014: WebRequest, HttpWebRequest, ServicePoint, WebClient устарели ServicePointManager является полностью устаревшим. ServicePointManager Параметры не влияют SslStream или HttpClient (это поведение не изменилось с .NET 6). Предупреждение
SYSLIB0054 Thread.VolatileRead и Thread.VolatileWrite являются устаревшими. Вместо этого используются типы Volatile.Read или Volatile.Write. Предупреждение
SYSLIB0055 AdvSimd.ShiftRightLogicalRoundedNarrowingSaturate* Методы с подписанными параметрами устарели. Вместо этого используйте неподписанные перегрузки. Предупреждение
SYSLIB0056 Assembly.LoadFrom с пользовательским AssemblyHashAlgorithm является устаревшим. Используйте перегрузки без AssemblyHashAlgorithm. Предупреждение
SYSLIB0057 X509Certificate2 и X509Certificate конструкторы для содержимого двоичного файла устарели. Предупреждение

Представленные версии

.NET 9

Тип критического изменения

Эти обнажения могут повлиять на совместимость источников.

  • Следуйте указаниям, приведенным для каждого идентификатора диагностики, используя URL, предоставленный в предупреждении.

  • Предупреждения или ошибки об этих устаревших элементах нельзя отключить с помощью стандартного идентификатора диагностики для устаревших типов или членов. Используйте вместо него пользовательский идентификатор диагностики SYSLIBxxxx.

Затронутые API

SYSLIB0009

SYSLIB0014

SYSLIB0054

SYSLIB0055

SYSLIB0056

SYSLIB0057

См. также