Обсолиции API с идентификаторами диагностики, не используемыми по умолчанию (.NET 10)
Некоторые API помечены как устаревшие, начиная с .NET 10. Это разрушающее изменение касается API, отмеченных как устаревшие , с пользовательским диагностическим идентификатором. Отключение идентификатора диагностики по умолчанию, который CS0618 для компилятора C#, не подавляет предупреждения, создаваемые компилятором при использовании этих API.
Изменение описания
В предыдущих версиях .NET эти API можно использовать без предупреждения сборки. В .NET 10 и более поздних версиях использование этих API создает предупреждение во время компиляции или ошибку с пользовательским идентификатором диагностики. Использование пользовательских диагностических идентификаторов позволяет подавлять предупреждения об устаревании индивидуально, а не подавлять все предупреждения об устаревании.
В следующей таблице перечислены пользовательские идентификаторы диагностики и соответствующие предупреждения для устаревших API.
Идентификатор диагностики | Описание | Суровость |
---|---|---|
SYSLIB0058 | Свойства KeyExchangeAlgorithm , KeyExchangeStrength , CipherAlgorithm , CipherAlgorithmStrength , HashAlgorithm и HashStrength свойств SslStream устарели. Вместо этого используйте NegotiatedCipherSuite. |
Предупреждение |
SYSLIB0059 | SystemEvents.EventsThreadShutdown обратные вызовы не выполняются до завершения процесса. Вместо этого используйте AppDomain.ProcessExit. | Предупреждение |
SYSLIB0060 | System.Security.Cryptography.Rfc2898DeriveBytes конструкторы устарели. Вместо этого используйте Rfc2898DeriveBytes.Pbkdf2. | Предупреждение |
Представленная версия
.NET 10
Тип изменения, нарушающего совместимость
Эти устаревания могут повлиять на совместимость источника.
Рекомендуемое действие
Следуйте указаниям, указанным для каждого идентификатора диагностики, используя ссылку URL-адреса, указанную в предупреждении.
Предупреждения или ошибки для этих устареваний нельзя снять при помощи стандартного диагностического идентификатора для устаревших типов или элементов. Вместо этого используйте пользовательский идентификатор диагностики
SYSLIBxxxx
.
Затронутые API
SYSLIB0058
- System.Net.Security.SslStream.KeyExchangeAlgorithm
- System.Net.Security.SslStream.KeyExchangeStrength
- System.Net.Security.SslStream.CipherAlgorithm
- System.Net.Security.SslStream.CipherStrength
- System.Net.Security.SslStream.HashAlgorithm
- System.Net.Security.SslStream.HashStrength
- System.Security.Authentication.ExchangeAlgorithmType
- System.Security.Authentication.CipherAlgorithmType
- System.Security.Authentication.HashAlgorithmType
SYSLIB0059
SYSLIB0060
- System.Security.Cryptography.Rfc2898DeriveBytes
- System.Security.Cryptography.Rfc2898DeriveBytes.Pbkdf2