Compartilhar via


SYSLIB0037: os membros do AssemblyName HashAlgorithm, ProcessorArchitecture e VersionCompatibility estão obsoletos

As seguintes propriedades System.Reflection.AssemblyName são marcadas como obsoletas, a partir do .NET 7. Usar essas APIs no código gera um aviso SYSLIB0037 no tempo de compilação.

Essas propriedades não são uma parte adequada de uma instância AssemblyName. Eles não percorrem a representação da cadeia de caracteres AssemblyName e são ignorados pelo carregador de assembly no .NET Core.

Solução alternativa

Não use esses membros em cenários em que seja esperado que os valores fossem arredondados pela representação de cadeia de caracteres do AssemblyName.

Suprimir um aviso

Se for necessário usar as APIs obsoletas, você poderá suprimir o aviso no código ou no arquivo de projeto.

Para suprimir apenas uma violação única, adicione as diretivas de pré-processador ao arquivo de origem para desabilitar e, em seguida, reabilite o aviso.

// Disable the warning.
#pragma warning disable SYSLIB0037

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

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

Para suprimir todos os avisos SYSLIB0037 no projeto, adicione uma propriedade <NoWarn> ao arquivo de projeto.

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

Para obter mais informações, confira Suprimir avisos.