SYSLIB0037: элементы AssemblyName hashAlgorithm, ProcessorArchitecture и VersionCompatibility устарели

Следующие System.Reflection.AssemblyName свойства помечены как устаревшие, начиная с .NET 7. При использовании этих API в коде создается предупреждение SYSLIB0037 во время компиляции.

Эти свойства не являются правильной частью экземпляра AssemblyName . Они не преобразуются в AssemblyName строковое представление, и они игнорируются загрузчиком сборки в .NET Core.

Обходное решение

Не используйте эти члены в сценариях, в которых ожидалось, что значения будут споткнуты по строковой строке AssemblyName.

Отключение предупреждений

Если необходимо использовать устаревшие API, вы можете отключить предупреждение в коде или в файле проекта.

Чтобы отключить только одно нарушение, добавьте директивы препроцессора в исходный файл, чтобы отключить и повторно включить предупреждение.

// Disable the warning.
#pragma warning disable SYSLIB0037

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

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

Чтобы отключить все SYSLIB0037 предупреждения в проекте, добавьте <NoWarn> свойство в файл проекта.

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

Дополнительные сведения см. в разделе Отключение предупреждений.