SYSLIB0018: 리플렉션 전용 로드는 지원되지 않으며 PlatformNotSupportedException을 throw합니다.
다음 메서드는 .NET 6부터 사용되지 않는 것으로 표시됩니다. 코드에서 이러한 메서드를 호출하면 컴파일 시간에 SYSLIB0018
경고가 생성됩니다. 이러한 메서드는 런타임에 PlatformNotSupportedException을 throw합니다.
- Assembly.ReflectionOnlyLoad
- Assembly.ReflectionOnlyLoadFrom(String)
- Type.ReflectionOnlyGetType(String, Boolean, Boolean)
해결 방법
리플렉션 전용 로드는 .NET Core 및 .NET 5 이상의 메타데이터 로드 컨텍스트로 대체됩니다. 자세한 내용은 방법: MetadataLoadContext를 사용하여 어셈블리 콘텐츠 검사를 참조하세요.
경고 표시 안 함
사용되지 않는 API를 사용해야 하는 경우, 코드 또는 프로젝트 파일에서 경고를 표시하지 않을 수 있습니다.
단일 위반만 표시하지 않으려면 원본 파일에 전처리기 지시문을 추가하여 경고를 사용하지 않도록 설정한 후 다시 사용하도록 설정합니다.
// Disable the warning.
#pragma warning disable SYSLIB0018
// Code that uses obsolete API.
// ...
// Re-enable the warning.
#pragma warning restore SYSLIB0018
프로젝트에서 모든 SYSLIB0018
경고를 표시하지 않으려면 프로젝트 파일에 <NoWarn>
속성을 추가합니다.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
...
<NoWarn>$(NoWarn);SYSLIB0018</NoWarn>
</PropertyGroup>
</Project>
자세한 내용은 경고 표시 안 함을 참조하세요.
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET