SYSLIB0056: A AssemblyHashAlgorithm parancsot használó Assembly.LoadFrom elavult

Ennek túlterhelése Assembly.LoadFromAssemblyHashAlgorithm elavult, a .NET 9-től kezdve. A kódban való meghívás figyelmeztetést SYSLIB0056 generál fordításkor.

A kényszer okának oka

Assembly.LoadFrom(String, Byte[], AssemblyHashAlgorithm) feltétel nélkül dob egy NotSupportedException. Ez egy gyenge fejlesztési tapasztalat. A túlterhelés érvényes API-nak tűnik, amíg fel nem használják, és hibát jelez futásidőben. Ha elavultként jelöli meg, a szükséges tervezési idő jelzést ad, hogy ne használja.

Áthidaló megoldás

Olyan túlterhelést Assembly.LoadFrom használjon, amely nem vesz igénybe .AssemblyHashAlgorithm

Figyelmeztetés mellőzése

Ha az elavult API-kat kell használnia, letilthatja a figyelmeztetést a kódban vagy a projektfájlban.

Ha csak egyetlen szabálysértést szeretne letiltani, adjon hozzá előfeldolgozási irányelveket a forrásfájlhoz, hogy letiltsa, majd engedélyezze újra a figyelmeztetést.

// Disable the warning.
#pragma warning disable SYSLIB0056

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

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

Ha el szeretné tiltani a SYSLIB0056 projekt összes figyelmeztetését, adjon hozzá egy tulajdonságot <NoWarn> a projektfájlhoz.

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

További információ: Figyelmeztetések mellőzése.