SYSLIB0014: WebRequest, HttpWebRequest, ServicePoint, WebClient são obsoletos
As APIs a seguir são marcadas como obsoletas, começando no .NET 6. Usar esses tipos no código gerará um aviso SYSLIB0014
em tempo de compilação.
- WebRequest()
- System.Net.WebRequest.Create
- System.Net.WebRequest.CreateHttp
- System.Net.WebRequest.CreateDefault(Uri)
- HttpWebRequest(SerializationInfo, StreamingContext)
- ServicePointManager (A partir do .NET 9)
- System.Net.ServicePointManager.FindServicePoint
- WebClient()
Para reduzir o número de avisos do analisador, a classe ServicePoint não está marcada como obsoleta, mas todas as formas de obter suas instâncias estão.
As configurações no ServicePointManager e no ServicePoint não afetam mais o SslStream ou o HttpClient.
Soluções Alternativas
Use o HttpClient em vez disso.
Para obter mais informações, consulte o guia de migração HttpWebRequest to HttpClient.
Suprimir um aviso
Se for necessário usar as APIs obsoletas, você poderá suprimir o aviso no código ou no arquivo de projeto.
Para suprimir apenas uma violação única, adicione as diretivas de pré-processador ao arquivo de origem para desabilitar e, em seguida, reabilite o aviso.
// Disable the warning.
#pragma warning disable SYSLIB0014
// Code that uses obsolete API.
// ...
// Re-enable the warning.
#pragma warning restore SYSLIB0014
Para suprimir todos os avisos SYSLIB0014
no projeto, adicione uma propriedade <NoWarn>
ao arquivo de projeto.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
...
<NoWarn>$(NoWarn);SYSLIB0014</NoWarn>
</PropertyGroup>
</Project>
Para obter mais informações, confira Suprimir avisos.