Dela via


SYSLIB0038: SerializationFormat.Binary är föråldrad

SerializationFormat.Binary är markerad som föråldrad, med början i .NET 7. Om du använder det här API:et i koden genereras en varning SYSLIB0038 vid kompileringstillfället.

Lösning

Om koden använder SerializationFormat.Binaryväxlar du till att använda SerializationFormat.Xml eller använda en annan serialiseringsmetod.

Annars kan du ställa in växeln Switch.System.Data.AllowUnsafeSerializationFormatBinary AppContext . Med den här växeln kan du välja att tillåta användning av SerializationFormat.Binary, så att koden kan fungera som tidigare. Den här växeln tas dock bort i .NET 8. Information om hur du ställer in växeln finns i AppContext för bibliotekskonsumenter.

Ignorera en varning

Om du måste använda föråldrade API:er kan du ignorera varningen i koden eller i projektfilen.

Om du bara vill förhindra en enda överträdelse lägger du till förprocessordirektiv i källfilen för att inaktivera och återaktiverar sedan varningen.

// Disable the warning.
#pragma warning disable SYSLIB0038

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

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

Om du vill ignorera alla SYSLIB0038 varningar i projektet lägger du till en <NoWarn> egenskap i projektfilen.

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

Mer information finns i Utelämna varningar.

Se även