Compartilhar via


O carregamento apenas por reflexão não é suportado e gera uma PlatformNotSupportedException

Os métodos a seguir são marcados como obsoletos, começando no .NET 6. Chamá-los no código gera um aviso SYSLIB0018 em tempo de compilação. Esses métodos lançam uma exceção PlatformNotSupportedException em tempo de execução.

Soluções alternativas

O carregamento apenas para reflexão é substituído pelo contexto de carregamento de metadados no .NET Core e no .NET 5+. Para obter mais informações, consulte Como inspecionar o conteúdo do assembly usando MetadataLoadContext.

Suprimir um aviso

Se você precisar usar as APIs obsoletas, poderá suprimir o aviso no código ou no arquivo de projeto.

Para suprimir apenas uma única violação, adicione diretivas de pré-processador ao arquivo de origem para desabilitar e, em seguida, reabilitar o aviso.

// Disable the warning.
#pragma warning disable SYSLIB0018

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

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

Para suprimir todos os SYSLIB0018 avisos em seu projeto, adicione uma <NoWarn> propriedade ao arquivo de projeto.

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

Para obter mais informações, consulte Suprimir avisos.