SYSLIB0037: i membri di AssemblyName HashAlgorithm, ProcessorArchitecture e VersionCompatibility sono obsoleti
Le proprietà System.Reflection.AssemblyName seguenti sono contrassegnate come obsolete, a partire da .NET 7. L'uso di queste API nel codice genera un avviso SYSLIB0037
in fase di compilazione.
Queste proprietà non sono una parte corretta di un'istanza di AssemblyName. Non eseguono il round trip tramite la rappresentazione di stringa AssemblyName e vengono ignorate dal caricatore di assembly in .NET Core.
Soluzione alternativa
Non usare questi membri negli scenari in cui è previsto che i valori vengano arrotondati attraverso la rappresentazione di stringa AssemblyName.
Eliminare un avviso
Se è necessario usare le API obsolete, è possibile eliminare l'avviso nel codice o nel file di progetto.
Per eliminare solo una singola violazione, aggiungere direttive del preprocessore al file di origine per disabilitare e quindi riabilitare l'avviso.
// Disable the warning.
#pragma warning disable SYSLIB0037
// Code that uses obsolete API.
// ...
// Re-enable the warning.
#pragma warning restore SYSLIB0037
Per eliminare tutti gli avvisi SYSLIB0037
nel progetto, aggiungere una proprietà <NoWarn>
al file di progetto.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
...
<NoWarn>$(NoWarn);SYSLIB0037</NoWarn>
</PropertyGroup>
</Project>
Per altre informazioni, vedere Non visualizzare gli avvisi.