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 :
-
Les bibliothèques et les applications ne doivent pas utiliser l’API GlobalAssemblyCache pour déterminer le comportement à l’exécution, car elle retourne toujours
false
dans .NET Core et .NET 5+.
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.