2011-12-01 3 views
0

별도의 appdomain에서 라이브러리를 호출하고 있습니다 (이 라이브러리는 메모리 누수가 있으며 해결 방법이되었습니다). 라이브러리에는 필요한 파일의 매니페스트 리소스 이름을 지정하거나 파일 경로를 지정하는 옵션이 있습니다.코드를 사용하여 내가 선택한 스트림을 어셈블리의 manifestresourcestream에로드 할 수 있습니까?

지금까지 필자는 내 프로그램이있는 기본 appdomain에서 파일 경로 문자열을 샌드 박스 라이브러리 appdomain으로 전달했습니다. 그러나 대신 임베디드 리소스를 사용하여 모든 파일을 포함하고 설치 프로그램 프로젝트의 적절한 디렉터리로 보낼 필요가 없습니다.

물론 라이브러리는 임베디드 리소스를 실행하는 어셈블리 (샌드 박스 appdomain)에서 찾고 있습니다. 런타임에 mainfestResourceStream에 리소스를 추가하는 방법이 있는지 알아야합니다. 있다면, 난 그냥 appdomains에 걸쳐 스트림 개체를 전달할 수있는 리소스 스트림에 추가하고 다음 라이브러리를 호출합니다.

그래서 런타임에 어셈블리 manifestResourceStream에 리소스를 추가 할 수 있습니까?

감사합니다.

답변

1

나는 그럴 수 있다고 생각하지만, 그렇다고하더라도 어셈블리에서 특정 파일 위치로 리소스를 추출하는 것이 더 쉬울 것이라고 생각합니다. 그런 다음 해당 위치를 필요한 어셈블리에 전달하십시오. 그것.

이렇게하면 파일을 보내지 않아도되고 파일을 쉽게 사용할 수 있다는 이점이 있습니다.

잊어 버린 부분 : 우리가 일반적으로하는 일은 잘 알려진 임시 디렉토리에 파일을 추출한 다음 응용 프로그램 시작시 항상이 디렉토리를 지워서 응용 프로그램이 업데이트되면 사용하지 않도록합니다 오래된 자원.

+0

내 문제를 해결하는 또 다른 방법입니다. 귀하의 의견을 보내 주셔서 감사합니다. –

+0

1 시간 반 동안 보냈고 내 프레임 워크에서 솔루션을 구현했습니다. 괜찮아! 다시 한 번 고맙다. 나는 그 해결 방법을 생각하지 않을 수도있다. –

관련 문제