SYSLIB0005 : le Global Assembly Cache (GAC) n’est pas pris en charge

.NET Core et .NET 5 et versions ultérieures éliminent le concept de Global Assembly Cache (GAC) qui était présent dans .NET Framework. Pour aider les développeurs à abandonner ces API, certaines API liées au Global Assembly Cache sont marquées comme obsolètes à compter de .NET 5. L’utilisation de ces API génère un avertissement SYSLIB0005 à la compilation.

Les API associées au Global Assembly Cache suivantes sont marquées comme obsolètes :

Solutions de contournement

Si votre application interroge la propriété GlobalAssemblyCache, envisagez de supprimer l’appel. Si vous utilisez la valeur GlobalAssemblyCache pour choisir entre un flux « assembly dans le GAC » et un « assembly pas dans le GAC » à l’exécution, vérifiez si le flux est toujours pertinent pour une application .NET 5+.

Supprimer un avertissement

Si vous devez utiliser les API obsolètes, vous pouvez supprimer l’avertissement dans le code ou dans votre fichier projet.

Pour supprimer une seule violation, ajoutez des directives de préprocesseur à votre fichier source pour désactiver, puis réactiver l’avertissement.

// Disable the warning.
#pragma warning disable SYSLIB0005

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

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

Pour supprimer tous les avertissements SYSLIB0005 dans votre projet, ajoutez une propriété <NoWarn> à votre fichier projet.

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

Pour plus d’informations, consultez Supprimer des avertissements.

Voir aussi