Compartir a través de


SYSLIB0018: No se admite la carga solo-reflexiva y genera PlatformNotSupportedException

Los métodos siguientes se marcan como obsoletos, a partir de .NET 6. Llamarlos en código genera una advertencia SYSLIB0018 en tiempo de compilación. Estos métodos lanzan una PlatformNotSupportedException en tiempo de ejecución.

Soluciones alternativas

La carga única de reflexión se reemplaza por el contexto de carga de metadatos en .NET Core y .NET 5+. Para obtener más información, vea Cómo: Inspeccionar el contenido del ensamblado mediante MetadataLoadContext.

Supresión de una advertencia

Si debe usar las API obsoletas, puede suprimir la advertencia en el código o en el archivo del proyecto.

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

// Disable the warning.
#pragma warning disable SYSLIB0018

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

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

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

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

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