Linux 네이티브 라이브러리 해상도는 더 이상
.NET 8부터 Linux 애플리케이션은 더 이상 하위 디렉터리에서 네이 netcoredeps 티브 라이브러리를 검색하지 않습니다.
도입된 버전
.NET 8
이전 동작
이전 버전의 .NET에서 Linux 애플리케이션은 애플리케이션 실행 파일 옆에 있는 하위 디렉터리에서 netcoredeps 네이티브 라이브러리를 검색했습니다. 이 동작은 사용자 정의 플랫폼 호출(p/invokes)을 포함하여 모든 네이티브 라이브러리 로드에 적용됩니다.
새 동작
.NET 8 이상에서 Linux 애플리케이션은 더 이상 하위 디렉터리에서 네이 netcoredeps 티브 라이브러리를 검색하지 않습니다. 이제 네이티브 라이브러리 확인은 이 하위 디렉터리에 의존하지 않고 표준 메커니즘을 따릅니다.
파괴적 변경 유형
이는 동작 변경.
변경 이유
이 동작은 netcoredeps 원래 이전 .NET 버전의 타사 라이브러리에 대한 복잡한 종속성을 처리하기 위해 도입되었습니다. .NET 8+에서는 향상된 종속성 처리로 인해 이 동작이 더 이상 필요하지 않습니다. 또한 메커니즘은 ELF 플랫폼에 대한 권장 사례와 일치하지 않습니다.
자세한 내용은 GitHub 문제 #114393 참조하세요.
권장 작업
애플리케이션이 netcoredeps p/invokes 또는 사용자 지정 네이티브 라이브러리 확인을 위해 하위 디렉터리에 의존하는 경우 다음 대안을 사용합니다.
- 다음 중 하나를 사용하여 사용자 지정 해결 메커니즘을 구현합니다.
-
RPATH이(가) 배포에 필요하면,patchelf유틸리티를 사용하여 ELF 파일을 명시적으로 수정하십시오.
영향을 받는 API
.NET