다음을 통해 공유


SYSLIB0056: AssemblyHashAlgorithm을 사용하는 Assembly.LoadFrom은 사용되지 않습니다.

.NET 9부터는 AssemblyHashAlgorithm을(를) 사용하는 Assembly.LoadFrom 오버로드는 사용되지 않습니다. 코드에서 호출하면 컴파일 시간에 SYSLIB0056 경고가 생성됩니다.

사용 중지 이유

Assembly.LoadFrom(String, Byte[], AssemblyHashAlgorithm)은(는) NotSupportedException을(를) 무조건 throw합니다. 이것은 나쁜 개발 경험입니다. 오버로드는 사용될 때까지 유효한 API처럼 보이며 런타임에 throw됩니다. 더 이상 사용되지 않는 것으로 표시하면 해당 기능을 사용하지 않는 데 필요한 설계 타임 신호를 제공합니다.

해결 방법

AssemblyHashAlgorithm을(를) 사용하지 않는 Assembly.LoadFrom의 오버로드를 사용합니다.

경고 표시 안 함

사용되지 않는 API를 사용해야 하는 경우, 코드 또는 프로젝트 파일에서 경고를 표시하지 않을 수 있습니다.

단일 위반만 표시하지 않으려면 원본 파일에 전처리기 지시문을 추가하여 경고를 사용하지 않도록 설정한 후 다시 사용하도록 설정합니다.

// Disable the warning.
#pragma warning disable SYSLIB0056

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

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

프로젝트에서 모든 SYSLIB0056 경고를 표시하지 않으려면 프로젝트 파일에 <NoWarn> 속성을 추가합니다.

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

자세한 내용은 경고 표시 안 함을 참조하세요.