Share via


단일 파일 게시 형식에 대한 어셈블리 관련 API 동작 변경

단일 파일 게시 형식으로 호출된 경우 어셈블리의 파일 위치와 관련된 여러 API의 동작이 변경되었습니다.

변경 내용 설명

.NET 5 이상 버전의 단일 파일 게시에서는 번들 어셈블리가 디스크에 추출되는 대신 메모리에서 로드됩니다. 이로 인해 단일 파일 게시 앱의 경우 .NET 5 이상과 이전 버전의 .NET에서 특정 위치 관련 API를 통해 반환되는 값이 서로 다릅니다. 변경 내용은 다음과 같습니다.

API 이전 버전 .NET 5 이상
Assembly.Location 추출된 DLL 파일 경로를 반환합니다. 번들 어셈블리에 대해 빈 문자열을 반환합니다.
Assembly.CodeBase 추출된 DLL 파일 경로를 반환합니다. 번들 어셈블리에 대해 예외를 throw합니다.
Assembly.GetFile(String) 번들 어셈블리에 대해 null을 반환합니다. 번들 어셈블리에 대해 예외를 throw합니다.
Environment.GetCommandLineArgs()[0] 값은 진입점 DLL의 이름입니다. 값은 호스트 실행 파일의 이름입니다.
AppContext.BaseDirectory 값은 임시 추출 디렉터리입니다. 값은 호스트 실행 파일을 포함하는 디렉터리입니다.

도입된 버전

5.0

단일 파일로 게시하는 경우 어셈블리 파일 위치에 대한 종속성을 피합니다.

영향을 받는 API