Dela via


SYSLIB0037: AssemblyName-medlemmarna HashAlgorithm, ProcessorArchitecture och VersionCompatibility är föråldrade

Följande System.Reflection.AssemblyName egenskaper är markerade som föråldrade, med början i .NET 7. Om du använder dessa API:er i kod genereras en varning SYSLIB0037 vid kompileringstillfället.

De här egenskaperna är inte en korrekt del av en AssemblyName instans. De går inte tur och retur genom AssemblyName strängrepresentation och ignoreras av sammansättningsinläsaren i .NET Core.

Lösning

Använd inte dessa medlemmar i scenarier där det förväntades att värdena skulle avrundas genom strängrepresentationen AssemblyNameav .

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 SYSLIB0037

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

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

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

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

Mer information finns i Utelämna varningar.