Condividi tramite


SYSLIB0018: il caricamento di sola reflection non è supportato e genera PlatformNotSupportedException

I metodi seguenti sono contrassegnati come obsoleti, a partire da .NET 6. La loro chiamata nel codice genera un avviso SYSLIB0018 in fase di compilazione. Questi metodi generano un PlatformNotSupportedException in fase di esecuzione.

Soluzioni alternative

Il caricamento di sola reflection viene sostituito dal contesto di caricamento dei metadati in .NET Core e .NET 5+. Per altre informazioni, vedere Procedura: Esaminare il contenuto dell'assembly usando MetadataLoadContext.

Eliminare un avviso

Se è necessario usare le API obsolete, è possibile eliminare l'avviso nel codice o nel file di progetto.

Per eliminare solo una singola violazione, aggiungere direttive del preprocessore al file di origine per disabilitare e quindi riabilitare l'avviso.

// Disable the warning.
#pragma warning disable SYSLIB0018

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

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

Per eliminare tutti gli avvisi SYSLIB0018 nel progetto, aggiungere una proprietà <NoWarn> al file di progetto.

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

Per altre informazioni, vedere Eliminare gli avvisi.