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.