Condividi tramite


SYSLIB0013: EscapeUriString è obsoleto

L'API Uri.EscapeUriString(String) è contrassegnata come obsoleta, a partire da .NET 6. L'uso nel codice genera un avviso SYSLIB0013 in fase di compilazione.

Uri.EscapeUriString(String) può danneggiare la stringa URI in alcuni casi.

Per ulteriori informazioni, vedere https://github.com/dotnet/runtime/issues/31387.

Soluzioni alternative

È consigliabile usare invece Uri.EscapeDataString(String) per i componenti della stringa di query.

Eliminare un avviso

Se è necessario usare le API obsolete, è possibile eliminare l'avviso nel codice o nel file di progetto.

Per eliminare solo una singola violazione, aggiungere direttive del preprocessore al file di origine per disabilitare e quindi riabilitare l'avviso.

// Disable the warning.
#pragma warning disable SYSLIB0013

// Code that uses obsolete API.
// ...

// Re-enable the warning.
#pragma warning restore SYSLIB0013

Per eliminare tutti gli avvisi SYSLIB0013 nel progetto, aggiungere una proprietà <NoWarn> al file di progetto.

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
   ...
   <NoWarn>$(NoWarn);SYSLIB0013</NoWarn>
  </PropertyGroup>
</Project>

Per altre informazioni, vedere Eliminare gli avvisi.