.NET Core 및 .NET 5 이상 버전은 .NET Framework에 있던 GAC(전역 어셈블리 캐시)의 개념을 제거합니다. 개발자가 이러한 API에서 벗어나도록 하기 위해 일부 GAC 관련 API는 .NET 5부터 사용되지 않는 것으로 표시됩니다. 이러한 API를 사용하면 컴파일 시간에 경고 SYSLIB0005 가 생성됩니다.
다음 GAC 관련 API는 사용되지 않는 것으로 표시됩니다.
-
라이브러리 및 앱은 .NET Core 및 .NET 5+에서 항상
false을(를) 반환하므로 GlobalAssemblyCache API를 사용하여 런타임 동작을 결정해서는 안 됩니다.
해결 방법
애플리케이션이 GlobalAssemblyCache 속성을 쿼리하는 경우, 호출을 제거하는 것이 좋습니다. 이 값을 사용하여 GlobalAssemblyCache "GAC의 어셈블리" 흐름과 런타임 시 "GAC에 없는 어셈블리" 흐름 중에서 선택하는 경우 흐름이 .NET 5+ 애플리케이션에 여전히 적합한지 여부를 다시 고려합니다.
경고 표시 안 함
사용되지 않는 API를 사용해야 하는 경우 코드 또는 프로젝트 파일에서 경고를 표시하지 않을 수 있습니다.
단일 위반만 표시하지 않으려면 소스 파일에 전처리기 지시문을 추가하여 경고를 사용하지 않도록 설정한 다음 다시 사용하도록 설정합니다.
// Disable the warning.
#pragma warning disable SYSLIB0005
// Code that uses obsolete API.
// ...
// Re-enable the warning.
#pragma warning restore SYSLIB0005
프로젝트의 모든 SYSLIB0005 경고를 억제하려면, 프로젝트 파일에 <NoWarn> 속성을 추가하세요.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
...
<NoWarn>$(NoWarn);SYSLIB0005</NoWarn>
</PropertyGroup>
</Project>
자세한 내용은 경고 표시 안 함을 참조하세요.
참고하십시오
.NET