Partager via


SYSLIB0018 : le chargement en réflexion uniquement n’est pas pris en charge et lève PlatformNotSupportedException

Les méthodes suivantes sont marquées comme obsolètes, à partir de .NET 6. Les appeler dans le code génère un avertissement SYSLIB0018 au moment de la compilation. Ces méthodes lèvent un PlatformNotSupportedException au moment de l’exécution.

Solutions de contournement

Le chargement en réflexion uniquement est remplacé par le contexte de chargement des métadonnées dans .NET Core et .NET 5+. Pour plus d’informations, consultez Guide pratique pour inspecter le contenu de l’assembly à l’aide de MetadataLoadContext.

Supprimer un avertissement

Si vous devez utiliser les API obsolètes, vous pouvez supprimer l’avertissement dans le code ou dans votre fichier projet.

Pour supprimer une seule violation, ajoutez des directives de préprocesseur à votre fichier source pour désactiver, puis réactivez l’avertissement.

// Disable the warning.
#pragma warning disable SYSLIB0018

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

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

Pour supprimer tous les SYSLIB0018 avertissements dans votre projet, ajoutez une <NoWarn> propriété à votre fichier projet.

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

Pour plus d’informations, consultez Supprimer des avertissements.