리소스 또는 콘텐츠 빌드 작업을 사용하여 빌드 된 이미지 파일이있는 리소스 어셈블리가 있습니다. 이렇게하면 Uris를 사용하여 이러한 파일에 액세스 할 수 있습니다. 그러나 나는 그러한 자원을 열거 할 길을 찾을 수 없다.
내가 포함 리소스에 빌드 작업을 설정하면 다음과 같은 코드를 사용하여 파일을 열거 할 수있다 :런타임에 .NET 어셈블리 리소스 열거
string[] resources = Assembly.GetExecutingAssembly().GetManifestResourceNames();
을하지만 결과적으로 이러한 파일은 URI를 사용하여 액세스 할 수 있습니다.
질문입니다 - 어떻게 자원 또는 내용 빌드 작업 중 하나를 컴파일하는 자원을 열거 할?
참고 : Thomas Levesque가 지적했듯이 AssemblyAssociatedContentFileAttribute를 활용하여 이러한 리소스를 열거 할 수 있지만 WPF 응용 프로그램 어셈블리에서만 작동하며 클래스 라이브러리에서는 작동하지 않는 것으로 보입니다. 그래서 질문은 아직 열려 있습니다.
이것은 어셈블리에 이러한 특성이 설정된 경우에만 작동합니다. WPF 응용 프로그램은 * Content * 빌드 작업으로 작성된 파일에 대해서만 자동으로 설정됩니다. ClassLibrary 어셈블리의 경우에는 그러한 속성이 없습니다. 심지어 어셈블리 코드 내에서도 이러한 리소스를 열거 할 방법을 찾을 수 없습니다. –
업데이트 코드는 원래의 질문에 답하지만 여전히 보편적 인 해결책은 아닙니다 :) 클래스 라이브러리의 경우 * Content *, * Resource * 및 * Embedded Resource * 빌드 작업으로 빌드 된 모든 리소스가 열거됩니다. 그러나 WPF 응용 프로그램의 경우 * Embedded Resource * 빌드 작업으로 빌드 된 리소스 만 열거합니다. WPF App의 모든 리소스를 열거하려면 위의 두 가지 방법의 조합이 필요합니다. –
반환 값을 필터링 할 필요없이이 코드를 특정 폴더에서 직접 가져올 수 있습니까? (솔루션 탐색기에서 볼 수있는 몇 가지 리소스 폴더가 있는데 그 중 하나에로드하려는 이미지가 포함되어 있습니다.) – ziyuang