Dela via


SYSLIB0056: Assembly.LoadFrom som tar en AssemblyHashAlgorithm är föråldrad

Överlagringen av Assembly.LoadFrom som tar en AssemblyHashAlgorithm är föråldrad, med början i .NET 9. Om du anropar den i kod genereras en varning SYSLIB0056 vid kompileringstillfället.

Orsak till obsoletion

Assembly.LoadFrom(String, Byte[], AssemblyHashAlgorithm) ovillkorligt kastar en NotSupportedException. Detta är en dålig utvecklingsupplevelse. Överlagringen ser ut som ett giltigt API tills det används och det utlöser vid körning. Att markera den som föråldrad ger den nödvändiga designtidssignalen för att inte använda den.

Lösning

Använd en överlagring av Assembly.LoadFrom som inte tar en AssemblyHashAlgorithm.

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 SYSLIB0056

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

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

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

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

Mer information finns i Utelämna varningar.