Condividi tramite


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.