2011-02-16 5 views
1

저는 C# Express 2010을 사용하고 있습니다. 무료 VIBlend 편집 컨트롤을 사용하여 WPF 응용 프로그램을 만들었습니다. 이러한 컨트롤은 해당 DLL을 사용하며 실행 파일을 독립적으로 만들 수 있습니까? exe를 다른 컴퓨터 (물론 프레임 워크가 설치되어 있음)에 복사하고 싶지만 dll을 복사하지 않으려 고합니다!.NET 독립형 실행 파일

+0

가능한 복제본 http://stackoverflow.com/questions/189549/embedding-dlls-in-a-compiled-executable – baalazamon

답변

1

ILMerge 여기

있습니다 찾을 수 ILMerge에 대한 자원의 몇 helpfull :

GAC 사용

DLL에서 클라이언트 컴퓨터의 GAC (전역 어셈블리 캐시)에 등록 된 DLL을 사용하면 어셈블리를 사용할 수 있습니다.

그러나 GAC에 설치해야합니다. 내가 잘못처럼

편집

그것은 보인다 그러나 나는 것 강하게은 라이센스 aggreement에 의해 허용되지 않을 수 있기 때문에 하나의 실행에 타사의 DLL의 포함에 대한 조언.

3

시도 ILMerge

+0

+1 정확히 OP의 질문 –

+2

@mzabsky에 대한 대답입니다. DLL의 라이센스에 의해 허용되지 않을 수도 있습니다. –

+0

+1이 동일한 응답을 입력했습니다. 이 도구에 대한 배경 정보는 http://research.microsoft.com/en-us/people/mbarnett/ILMerge.aspx를 참조하십시오. 필립은 포인트를 가지고 있지만 ... –

0

을 사용하지 정말 당신이 라이브러리의 소스 코드를 한 다음 실행 파일 어셈블리로 코드를 병합 할 때 당신이 가진 모든 문제를 해결하는 시간을 지출하고자하지 않는.

제품을 사용하여 어셈블리 (예 : SmartAssembly)를 병합 한 경우이를 모두 하나의 EXE로 병합 할 수 있지만 SmartAssembly는 무료가 아닙니다. (비록 위의 제품은 단지 어셈블리를 합병하는 것 이상의 기능을합니다)

0

세 번째 옵션 (이미 언급 한 두 가지 옵션)은 모든 것을 설치 프로그램 (MSI)에 패키징하는 것입니다. 이것은 여전히 ​​DLL이 어딘가에 (어플 리케이션 폴더 나 GACd에 있음) 필요하지만, 좀 더 제어 된 방식으로 클라이언트에게 제공됩니다. 그들은 단지 패키지를 설치합니다.

0

.NET에서는이 상자를 지원합니다. 방법은 this guide을 참조하십시오.

+0

늘어나는만큼 내가 wpf 포함 된 리소스로 DLL을 추가하고 리소스 스트림을 읽음으로써 appdomain에 동적으로로드하는 경우이 유일한 방법은 알으십시오. – baalazamon

+0

사실. 결코 쉬운 일은 아니라고 말했습니다. :). –

관련 문제