SYSLIB0014 : WebRequest, HttpWebRequest, ServicePoint, WebClient sont obsolètes
Les API suivantes sont marquées comme obsolètes à compter de .NET 6. Leur utilisation dans le code génère un avertissement SYSLIB0014
au moment de la compilation.
- WebRequest()
- System.Net.WebRequest.Create
- System.Net.WebRequest.CreateHttp
- System.Net.WebRequest.CreateDefault(Uri)
- HttpWebRequest(SerializationInfo, StreamingContext)
- ServicePointManager (À partir de .NET 9)
- System.Net.ServicePointManager.FindServicePoint
- WebClient()
Pour réduire le nombre d'avertissements de l'analyseur, la classe ServicePoint n'est pas marquée comme obsolète, mais toutes les façons d'obtenir ses instances le sont.
Les réglages sur ServicePointManager et ServicePoint n'affectent plus SslStream ou HttpClient.
Solutions de contournement
Utilisez HttpClient à la place.
Pour plus d'informations, veuillez consulter le guide de migration de HttpWebRequest vers HttpClient.
Supprimer un avertissement
Si vous devez utiliser les API obsolètes, vous pouvez supprimer l’avertissement dans le code ou dans votre fichier projet.
Pour supprimer une seule violation, ajoutez des directives de préprocesseur à votre fichier source pour désactiver, puis réactiver l’avertissement.
// Disable the warning.
#pragma warning disable SYSLIB0014
// Code that uses obsolete API.
// ...
// Re-enable the warning.
#pragma warning restore SYSLIB0014
Pour supprimer tous les avertissements SYSLIB0014
dans votre projet, ajoutez une propriété <NoWarn>
à votre fichier projet.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
...
<NoWarn>$(NoWarn);SYSLIB0014</NoWarn>
</PropertyGroup>
</Project>
Pour plus d’informations, consultez Supprimer des avertissements.