SYSLIB0037 : Les membres AssemblyName HashAlgorithm, ProcessorArchitecture et VersionCompatibility sont obsolètes

À compter de .NET 7, les propriétés System.Reflection.AssemblyName suivantes sont marquées comme obsolètes. L’utilisation de ces API dans le code génère un avertissement SYSLIB0037 au moment de la compilation.

Ces propriétés ne sont pas une partie appropriée d’une instance AssemblyName. Elles n’effectuent pas d’aller-retour à travers la représentation sous forme de chaîne AssemblyName et sont ignorées par le chargeur d’assemblys dans .NET Core.

Solution de contournement

N’utilisez pas ces membres dans les scénarios où il est attendu que les valeurs fassent un aller-retour dans la représentation sous forme de chaîne de AssemblyName.

Supprimer un avertissement

Si vous devez utiliser les API obsolètes, vous pouvez supprimer l’avertissement dans le code ou dans votre fichier projet.

Pour supprimer une seule violation, ajoutez des directives de préprocesseur à votre fichier source pour désactiver, puis réactiver l’avertissement.

// Disable the warning.
#pragma warning disable SYSLIB0037

// Code that uses obsolete API.
// ...

// Re-enable the warning.
#pragma warning restore SYSLIB0037

Pour supprimer tous les avertissements SYSLIB0037 dans votre projet, ajoutez une propriété <NoWarn> à votre fichier projet.

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
   ...
   <NoWarn>$(NoWarn);SYSLIB0037</NoWarn>
  </PropertyGroup>
</Project>

Pour plus d’informations, consultez Supprimer des avertissements.