Compartir a través de


SYSLIB0056: Assembly.LoadFrom que toma un AssemblyHashAlgorithm está obsoleto

La sobrecarga de Assembly.LoadFrom que toma un AssemblyHashAlgorithm está obsoleta, a partir de .NET 9. Si se usa en el código, se genera una advertencia SYSLIB0056 en tiempo de compilación.

Motivo de la obsolescencia

Assembly.LoadFrom(String, Byte[], AssemblyHashAlgorithm) genera incondicionalmente una NotSupportedException. Se trata de una experiencia de desarrollo deficiente. La sobrecarga es similar a una API válida hasta que se usa y se genera en tiempo de ejecución. Marcarla como obsoleta proporciona la señal necesaria en tiempo de diseño para no usarla.

Solución alternativa

Use una sobrecarga de Assembly.LoadFrom que no tome un AssemblyHashAlgorithm.

Supresión de una advertencia

Si tiene que seguir usando las API obsoletas, puede suprimir la advertencia en el código o en el archivo de proyecto.

Para suprimir solo una infracción, agregue directivas de preprocesador al archivo de origen para deshabilitar y luego volver a habilitar la advertencia.

// Disable the warning.
#pragma warning disable SYSLIB0056

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

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

Para suprimir todas las advertencias SYSLIB0056 del proyecto, agregue una propiedad <NoWarn> al archivo del proyecto.

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

Para obtener más información, vea Suprimir advertencias.