Partilhar via


SYSLIB0005: A cache assembly global (GAC) não é suportada

O .NET Core e o .NET 5 e versões posteriores eliminam o conceito de cache assembly global (GAC) que existia no .NET Framework. Para ajudar a afastar os programadores destas APIs, algumas APIs relacionadas com GAC são marcadas como obsoletas, começando no .NET 5. A utilização destas APIs gera avisos SYSLIB0005 em tempo de compilação.

As seguintes APIs relacionadas com GAC estão marcadas como obsoletas:

Soluções

Se a sua aplicação consultar a propriedade GlobalAssemblyCache, considere remover a chamada. Se utilizar o valor GlobalAssemblyCache para escolher entre um fluxo com "assembly na Cache Global de Assembly (GAC)" ou um fluxo com "assembly fora da Cache Global de Assembly (GAC)" em tempo de execução, reconsidere se o fluxo ainda faz sentido para uma aplicação .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 avisos de SYSLIB0005 em seu projeto, adicione uma propriedade <NoWarn> 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