SYSLIB0014: WebRequest, HttpWebRequest, ServicePoint и WebClient являются устаревшими
Следующие API помечены как устаревшие, начиная с .NET 6. При их использовании во время компиляции создается предупреждение SYSLIB0014
.
- WebRequest()
- System.Net.WebRequest.Create
- System.Net.WebRequest.CreateHttp
- System.Net.WebRequest.CreateDefault(Uri)
- HttpWebRequest(SerializationInfo, StreamingContext)
- ServicePointManager (Начиная с .NET 9)
- System.Net.ServicePointManager.FindServicePoint
- WebClient()
Чтобы уменьшить количество предупреждений анализатора, ServicePoint класс не помечается как устаревший, но все способы получения его экземпляров.
ServicePointManager Параметры и ServicePoint больше не влияют или HttpClientне влияютSslStream.
Методы обхода проблемы
Вместо этого используйте HttpClient.
Дополнительные сведения см. в руководстве по миграции HttpWebRequest в HttpClient.
Отключение предупреждений
Если необходимо использовать устаревшие API, вы можете отключить предупреждение в коде или в файле проекта.
Чтобы отключить только одно нарушение, добавьте директивы препроцессора в исходный файл, чтобы отключить и повторно включить предупреждение.
// Disable the warning.
#pragma warning disable SYSLIB0014
// Code that uses obsolete API.
// ...
// Re-enable the warning.
#pragma warning restore SYSLIB0014
Чтобы отключить все SYSLIB0014
предупреждения в проекте, добавьте <NoWarn>
свойство в файл проекта.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
...
<NoWarn>$(NoWarn);SYSLIB0014</NoWarn>
</PropertyGroup>
</Project>
Дополнительные сведения см. в разделе Отключение предупреждений.