SYSLIB0005: De algemene assemblycache (GAC) wordt niet ondersteund
.NET Core en .NET 5 en latere versies elimineren het concept van de algemene assemblycache (GAC) die aanwezig was in .NET Framework. Om ontwikkelaars weg te helpen van deze API's, worden sommige GAC-gerelateerde API's gemarkeerd als verouderd, te beginnen in .NET 5. Met deze API's genereert u een waarschuwing SYSLIB0005
tijdens het compileren.
De volgende GAC-gerelateerde API's zijn gemarkeerd als verouderd:
-
Bibliotheken en apps mogen de GlobalAssemblyCache API niet gebruiken om te bepalen wat de runtime is, omdat deze altijd wordt geretourneerd
false
in .NET Core en .NET 5+.
Tijdelijke oplossingen
Als uw toepassing de GlobalAssemblyCache eigenschap opvraagt, kunt u overwegen de aanroep te verwijderen. Als u de GlobalAssemblyCache waarde gebruikt om te kiezen tussen een assembly in de GAC-stroom versus een "assembly niet in de GAC"-stroom tijdens runtime, bedenkt u of de stroom nog steeds zinvol is voor een .NET 5+-toepassing.
Een waarschuwing onderdrukken
Als u de verouderde API's moet gebruiken, kunt u de waarschuwing in code of in het projectbestand onderdrukken.
Als u slechts één schending wilt onderdrukken, voegt u preprocessorrichtlijnen toe aan uw bronbestand om de waarschuwing uit te schakelen en vervolgens opnieuw in te schakelen.
// Disable the warning.
#pragma warning disable SYSLIB0005
// Code that uses obsolete API.
// ...
// Re-enable the warning.
#pragma warning restore SYSLIB0005
Als u alle SYSLIB0005
waarschuwingen in uw project wilt onderdrukken, voegt u een <NoWarn>
eigenschap toe aan het projectbestand.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
...
<NoWarn>$(NoWarn);SYSLIB0005</NoWarn>
</PropertyGroup>
</Project>
Zie Waarschuwingen onderdrukken voor meer informatie.