2012-06-30 1 views
1

나는 C# 및 .dll C# 프로젝트를 작성했다. 나는 그것이 dll을 포함하고 다른 언어로 런타임에 exe에서 .dll을 추출하는 것이 가능하다는 것을 보았다..DLL을 .EXE에 바인딩/첨부.

어떻게 C#에서 이것을 얻을 수 있을까요?

+0

http://stackoverflow.com/questions/189549/embedding-dlls-in-a-compiled-executable을 살펴 보시기 바랍니다. – dialer

답변

0

어셈블리를 다른 어셈블리 안에 리소스 파일로 포함 할 수 있습니다 (프로젝트 속성으로 이동하여 리소스 섹션 열기).

다음으로 런타임시 자원 파일을 Assembly.GetManifestResourceStream()을 사용하여 스트림으로 검색 할 수 있습니다.

마지막으로 어셈블리를 현재 응용 프로그램 도메인 또는 Assembly.Load(byte\[\]) (바이트 배열에 리소스 스트림로드)으로 별도의 응용 프로그램 도메인에로드 할 수 있습니다.

리소스 어셈블리를 먼저 디스크에 저장하지 않고도 메모리에서 직접로드 할 수 있습니다.

Assembly.GetType 오버로드 중 하나를 사용하여 어셈블리에서 유형을로드 할 수 있습니다. 물론 주 어셈블리와 리소스 어셈블리 사이에 일부 계약을 정의하여이 어셈블리 내에서 사용자 지정 형식을 사용할 수 있습니다.

관련 문제