임베디드 리소스의 "경로"를 어떻게 찾을 수 있습니까?
문제
PNG를 어셈블리에 포함 된 리소스로 저장하고 있습니다.동일한 어셈블리 내에서 다음과 같은 코드가 있습니다. 라코 디스
"file.png"라는 파일은 "Resources"폴더 (Visual Studio 내)에 저장되며 포함 된 리소스로 표시됩니다.
코드는 다음과 같은 예외와 함께 실패합니다. <인용구>
MyNamespace.Resources.file.png 리소스는 MyNamespace.MyClass 클래스에서 찾을 수 없습니다.
동일한 코드 (다른 어셈블리에서 다른 리소스로드)가 작동합니다.그래서 저는 그 기술이 건전하다는 것을 압니다.내 문제는 올바른 경로가 무엇인지 알아 내려고 노력하는 데 많은 시간을 소비한다는 것입니다.(디버거에서) 어셈블리를 쿼리하여 올바른 경로를 찾을 수 있다면 많은 골칫거리를 줄일 수 있습니다.
해결책
이렇게하면 모든 리소스의 문자열 배열을 얻을 수 있습니다. 라코 디스
다른 팁
매번이 작업을 수행하는 방법을 잊었 기 때문에 필요한 한 줄짜리 두 줄을 작은 수업에서 포장했습니다. 라코 디스
당신의 수업이 다른 네임 스페이스에있는 것 같습니다.이를 해결하는 표준 방법은 리소스 클래스와 강력한 유형의 리소스를 사용하는 것입니다. 라코 디스
IDE의 리소스 관리자를 사용하여 리소스를 추가합니다.
다음 방법을 사용하여 포함 된 리소스를 가져옵니다. 라코 디스
그런 다음 프로젝트의 경로로 이것을 호출합니다. 라코 디스
리소스의 이름은 이름 공간과 파일 경로의 "의사"이름 공간을 더한 것입니다."의사"이름 공간은. 대신 \ (백 슬래시)를 사용하여 하위 폴더 구조로 만들어집니다.(점). 라코 디스
다음 전화 : 라코 디스
이름 공간 my.namespace의 폴더 구조 resources \ xml에있는 my.xml 스트림을 반환합니다.