Condividi tramite


SYSLIB0005: La Global Assembly Cache (GAC) non è supportata

.NET Core e .NET 5 e versioni successive eliminano il concetto di Global Assembly Cache (GAC) presente in .NET Framework. Per aiutare gli sviluppatori a evitare queste API, alcune API correlate alla GAC sono contrassegnate come obsolete, a partire da .NET 5. L'uso di queste API genera un avviso SYSLIB0005 in fase di compilazione.

Le API correlate alla GAC seguenti sono contrassegnate come obsolete:

Soluzioni alternative

Se l'applicazione esegue una query sulla proprietà GlobalAssemblyCache, considerare di rimuovere la chiamata. Se si usa il GlobalAssemblyCache valore per scegliere tra un "assembly nella GAC" e un "assembly non incluso nella GAC"-flow in fase di esecuzione, riconsiderare se il flusso ha ancora senso per un'applicazione .NET 5+.

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 SYSLIB0005

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

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

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

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

Per ulteriori informazioni, vedere Sopprimere gli avvisi.

Vedere anche