WPF Pack URI (btmapimage uri) : DirectoryNotFoundException: 경로의 일부를 찾을 수 없습니다. 해결 방법

WPF에서 Pack URI 사용하기

WPF Pack URI(btmapimage uri) : Directory Not Found Exception: 경로의 일부를 찾을 수 없습니다.

WPF에서 Pack URI 사용하기를 안내해 드리려고 합니다. 해당사항은 이번 주제인, 'WPF Pack URI(bitmapimage uri) : DirectoryNotFoundException: 경로의 일부를 찾을 수 없습니다.' 오류가 발생하였을 때 해결하기 위한 방법이기도 합니다.

즉, BitmapImage 의 URI 를 잘못 설정하는 경우 "경로의 일부를 찾을 수 없습니다." 예외가 발생합니다.

Pack URI Scheme : local assembly's project folder

Pack URI Scheme : local assembly's project folder

BitmapImage 의 URI 를 잘못 설정하는 경우 "경로의 일부를 찾을 수 없습니다." 예외가 발생하기 때문에, 경로를 재설정하여 해결할 수 있답니다.

로컬 어셈블리의 리소스 파일에 접근할 수 있도록 WPF에서는 application:///. authority를 지원합니다. 비트맵 이미지의 Uri에 해당 값을 추가하여 해결할 수 있습니다.

로컬, 참조

  • pack://application:,,,/ResourceFile.xaml
    => 로컬 어셈블리 프로젝트 폴더에 있는 ResourceFile.xaml 파일에 접근합니다.
  • pack://application:,,,/ReferencedAssembly;v1.0.0.1;component/ResourceFile.xaml
    => 참조 어셈블리 프로젝트에 있는 ResourceFile.xaml 파일에 접근하는 방법입니다. 
    => AssemblyShortName{;Version]{;PublicKey];component/Path 와 같이 경로가 구성됩니다.

절대 팩 URI, 상대 팩 URI

  • pack://application:,,,/ResourceFile.xaml => 절대 Pack URI
  • /ResourceFile.xaml => 상대 Pack URI

댓글