SYSLIB0018: Endast reflektionsinläsning stöds inte och genererar PlatformNotSupportedException
Följande metoder markeras som föråldrade, med början i .NET 6. Att anropa dem i kod genererar en varning SYSLIB0018
vid kompileringstillfället. Dessa metoder genererar en PlatformNotSupportedException vid körning.
- Assembly.ReflectionOnlyLoad
- Assembly.ReflectionOnlyLoadFrom(String)
- Type.ReflectionOnlyGetType(String, Boolean, Boolean)
Provisoriska lösningar
Endast reflektionsinläsning ersätts av metadatabelastningskontexten i .NET Core och .NET 5+. Mer information finns i Så här inspekterar du sammansättningsinnehåll med metadataLoadContext.
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 SYSLIB0018
// Code that uses obsolete API.
// ...
// Re-enable the warning.
#pragma warning restore SYSLIB0018
Om du vill ignorera alla SYSLIB0018
varningar i projektet lägger du till en <NoWarn>
egenskap i projektfilen.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
...
<NoWarn>$(NoWarn);SYSLIB0018</NoWarn>
</PropertyGroup>
</Project>
Mer information finns i Utelämna varningar.