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 à compter de .NET 6. Lorsqu’elles sont utilisées dans le code, elles génèrent un avertissement SYSLIB0018 au moment de la compilation. Ces méthodes lèvent une PlatformNotSupportedException à l’exécution.

Solutions de contournement

Le chargement par réflexion uniquement est remplacé par le contexte de chargement des métadonnées dans .NET Core et .NET 5 (et versions ultérieures). 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éactiver 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 avertissements SYSLIB0018 dans votre projet, ajoutez une propriété <NoWarn> à votre fichier projet.

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

Pour plus d’informations, consultez Supprimer des avertissements.