SYSLIB0005: Den globala sammansättningscache (GAC) stöds inte
.NET Core- och .NET 5- och senare versioner eliminerar begreppet global sammansättningscache (GAC) som fanns i .NET Framework. För att hjälpa utvecklare att komma bort från dessa API:er markeras vissa GAC-relaterade API:er som föråldrade, med början i .NET 5. Om du använder dessa API:er genereras en varning SYSLIB0005
vid kompileringstillfället.
Följande GAC-relaterade API:er är markerade som föråldrade:
-
Bibliotek och appar bör inte använda API:et GlobalAssemblyCache för att fastställa körningsbeteende, eftersom det alltid returneras
false
i .NET Core och .NET 5+.
Provisoriska lösningar
Om ditt program frågar egenskapen GlobalAssemblyCache kan du överväga att ta bort anropet. Om du använder GlobalAssemblyCache värdet för att välja mellan en "sammansättning i GAC"-flödet jämfört med en "sammansättning som inte finns i GAC"-flödet vid körning bör du överväga om flödet fortfarande är meningsfullt för ett .NET 5+-program.
Ignorera en varning
Om du måste använda föråldrade API:er kan du ignorera varningen i koden eller i projektfilen.
Om du bara vill förhindra en enda överträdelse lägger du till förprocessordirektiv i källfilen för att inaktivera och återaktiverar sedan varningen.
// Disable the warning.
#pragma warning disable SYSLIB0005
// Code that uses obsolete API.
// ...
// Re-enable the warning.
#pragma warning restore SYSLIB0005
Om du vill ignorera alla SYSLIB0005
varningar i projektet lägger du till en <NoWarn>
egenskap i projektfilen.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
...
<NoWarn>$(NoWarn);SYSLIB0005</NoWarn>
</PropertyGroup>
</Project>
Mer information finns i Utelämna varningar.