Partilhar via


SYSLIB0005: O cache de assembly global (GAC) não é suportado

O .NET Core e o .NET 5 e versões posteriores eliminam o conceito de cache de assembly global (GAC) que estava presente no .NET Framework. Para ajudar a afastar os desenvolvedores dessas APIs, algumas APIs relacionadas ao GAC são marcadas como obsoletas, começando no .NET 5. O uso dessas APIs gera aviso SYSLIB0005 em tempo de compilação.

As seguintes APIs relacionadas ao GAC são marcadas como obsoletas:

Soluções

Se o seu aplicativo consultar a GlobalAssemblyCache propriedade, considere remover a chamada. Se você usar o GlobalAssemblyCache valor para escolher entre um fluxo "assembly no GAC" versus um fluxo "assembly não no GAC" em tempo de execução, reconsidere se o fluxo ainda faz sentido para um aplicativo .NET 5+.

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 desativar e reativar o aviso.

// Disable the warning.
#pragma warning disable SYSLIB0005

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

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

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

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

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

Consulte também