2009-05-19 3 views
1

AssemblyBuilder를 사용하여 다른 어셈블리를 동적으로 생성하는 실행 어셈블리가 있습니다.AssemblyBuilder를 사용하면 저장된 어셈블리에서 링크 대신 참조 된 어셈블리를 모두 또는 포함하도록 할 수 있습니까?

생성 된 어셈블리는 실행 어셈블리에서 특정 클래스의 구성을 테스트하는 기능으로 구성됩니다. 생성 된 어셈블리의 함수가 실행중인 어셈블리의 클래스를 참조하기 때문에 실행중인 어셈블리를 생성 한 어셈블리에 자체적으로 포함시키고 싶습니다.

지금까지는 실행중인 어셈블리에 연결하는 어셈블리 만 생성했지만 그 어셈블리는 포함하지 않았습니다. 최종 어셈블리 (.dll)가 하나만있는 것이 중요합니다.

어셈블리를 리소스로 포함해야합니까? 그렇다면 어떻게? 필자는 유일한 방법이 아니라면 임베디드 어셈블리를 동적으로로드하는 코드를 작성하지 않아도됩니다. AssemblyBuilder.EmbedAssembly (GetExecutingAssembly())와 같은 간단한 것을 찾고 있습니다.

답변

2

쉬운 방법은 없습니다. 당신은 적어도 두 가지 선택이 있습니다 managed resources

+0

첫 번째 옵션은 어떻게 수행합니까? ILMerge를 사용하고 싶지는 않지만 ILMerge가 내부적으로 수행하는 첫 번째 옵션은 무엇입니까? – Triynko

+0

적절한 API에 대한 링크를 추가했습니다. 그건 ILMerge가하는 것이 아닙니다. ILMerge는 실제로 다른 어셈블리 세트에서 하나의 어셈블리를 생성합니다. 첫 번째 솔루션은 여러 어셈블리를 다른 어셈블리 안에 리소스로 포함합니다. –

+0

하나의 클래스와 메서드가있는 실행 불가능한 dll에 어셈블리로드 후크를 내보내려면 어떻게해야합니까? 또한 참조 된 dll을 리소스로 포함시키는 방법을 모르겠습니다. – Triynko

관련 문제