Condividi tramite


SYSLIB0038: SerializationFormat.Binary è obsoleto

SerializationFormat.Binary è contrassegnato come obsoleto, a partire da .NET 7. L'uso di questa API nel codice genera un avviso SYSLIB0038 in fase di compilazione.

Soluzione alternativa

Se il codice usa SerializationFormat.Binary, passare all'uso di SerializationFormat.Xml o all'uso di un altro metodo di serializzazione.

In caso contrario, è possibile impostare l'opzione AppContext Switch.System.Data.AllowUnsafeSerializationFormatBinary. Questa opzione consente di acconsentire esplicitamente all'uso di SerializationFormat.Binary, in modo che il codice possa funzionare come prima. Tuttavia, questa opzione verrà rimossa in .NET 8. Per informazioni sull'impostazione dell'opzione, vedere Consumer di librerie AppContext.

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 SYSLIB0038

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

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

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

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

Per altre informazioni, vedere Non visualizzare gli avvisi.

Vedi anche