- 시작전 잡설 : 참으로 오랜만의 포스팅이네요^^; 요 근래 두어달간 몇가지 흥미진진한(그만큼 구글링도 엄청한) 프로젝트를
진행하느라 좀 바빴는데, 다시 블로그에 관심을 가져줄까 합니다. (뭐, 기다리시는분은 없었겠지만-_-;;)
- 상황 : 부서내 다른팀(개발이 아닌)에게 업무에 사용할 툴을 만들어 주는데, 이것저것 참조된 어셈블리를 같이 배포했더니, 불편하다고 파일하나만 가지고 실행할 수 없겠냐고 합니다. (엑셀에, DB접속에, 각종 UI들까지 몇가지 있깄했죠.) 그래서 구글님께 물어보니, 아니나 다를까 ILMerge 라는 툴이 있었고, Microsoft 공식 사이트에서 배포중이었습니다.
- 다운로드 : ILMerge.msi
- ILMerge 를 설치하면 기본적으로 c:\Program Files\Microsoft\ILMerge 에 설치가 되며, ILMerge.exe 라는 단독 콘솔형 실행파일 하나만 존재합니다.
- 기본적인 사용법만을 알려드리자면, 메인이 될 dll 명을 맨 앞에 적어주고, 나머지를 뒤에 줄줄이 적어주면 됩니다. 그리고 결과물이 생성될 파일명을 /out 파라메터와 함께 적어줍니다.
- 위는 엑셀을 참조추가한 경우에 인터롭어셈블리를 같이 배포하지 않아도 되도록 묶어본 예입니다.(실제 사용시에는 배치파일로 만들어두면 편하겠죠)
- 이 툴이 유용한것중 하나는 pdb 파일도 함께 생성해주기 때문에, 디버깅에도 유용하다는 점입니다.
- 또 한가지, 이 툴의 실행파일또한 닷넷 어셈블리이 기 때문에 참조추가하여 사용할 수 있는데, 참조추가하게 되면, ILMerge.exe 가 제공해주는 모든 기능을 프로그래밍적으로 사용할 수 있습니다. (해당 내용은 설치시 제공되는 문서에 자세히 나와있습니다. 본 포스팅에서는 다루지 않습니다.)
- 제공되는 문서의 서론에서 언급하고 있는것들 몇가지
- ILMerge.exe 는 여러개의 닷넷 어셈블리를 하나로 묶어준다.
- 비관리 코드를 사용하는 일부 어셈블리는 묶지 못할 수도 있다.
- PEVerify 유틸(닷넷 기본제공)을 통해 어셈블리가 유효한지 검증한 후 사용할 것을 권장한다.
- 윈도우즈 플랫폼만 지원한다.
- 사용법또한 간단해서 소개하는 수준에서 마무리합니다. 몇몇 돌발상황(?)에 유용하게 쓰였으면 하네요^^
출처 : http://www.lemonwidz.com/tc/
- 상황 : 부서내 다른팀(개발이 아닌)에게 업무에 사용할 툴을 만들어 주는데, 이것저것 참조된 어셈블리를 같이 배포했더니, 불편하다고 파일하나만 가지고 실행할 수 없겠냐고 합니다. (엑셀에, DB접속에, 각종 UI들까지 몇가지 있깄했죠.) 그래서 구글님께 물어보니, 아니나 다를까 ILMerge 라는 툴이 있었고, Microsoft 공식 사이트에서 배포중이었습니다.
- 다운로드 : ILMerge.msi
- ILMerge 를 설치하면 기본적으로 c:\Program Files\Microsoft\ILMerge 에 설치가 되며, ILMerge.exe 라는 단독 콘솔형 실행파일 하나만 존재합니다.
- 기본적인 사용법만을 알려드리자면, 메인이 될 dll 명을 맨 앞에 적어주고, 나머지를 뒤에 줄줄이 적어주면 됩니다. 그리고 결과물이 생성될 파일명을 /out 파라메터와 함께 적어줍니다.
- ILMerge.exe "/out:MergedAssembly.exe" "MergeTest.exe" "c:\Program Files\Microsoft Visual Studio 9.0\Visual Studio Tools for Office\PIA\Office11\Microsoft.Office.Interop.Excel.dll"
- 위는 엑셀을 참조추가한 경우에 인터롭어셈블리를 같이 배포하지 않아도 되도록 묶어본 예입니다.(실제 사용시에는 배치파일로 만들어두면 편하겠죠)
- 이 툴이 유용한것중 하나는 pdb 파일도 함께 생성해주기 때문에, 디버깅에도 유용하다는 점입니다.
- 또 한가지, 이 툴의 실행파일또한 닷넷 어셈블리이 기 때문에 참조추가하여 사용할 수 있는데, 참조추가하게 되면, ILMerge.exe 가 제공해주는 모든 기능을 프로그래밍적으로 사용할 수 있습니다. (해당 내용은 설치시 제공되는 문서에 자세히 나와있습니다. 본 포스팅에서는 다루지 않습니다.)
- 제공되는 문서의 서론에서 언급하고 있는것들 몇가지
- ILMerge.exe 는 여러개의 닷넷 어셈블리를 하나로 묶어준다.
- 비관리 코드를 사용하는 일부 어셈블리는 묶지 못할 수도 있다.
- PEVerify 유틸(닷넷 기본제공)을 통해 어셈블리가 유효한지 검증한 후 사용할 것을 권장한다.
- 윈도우즈 플랫폼만 지원한다.
- 사용법또한 간단해서 소개하는 수준에서 마무리합니다. 몇몇 돌발상황(?)에 유용하게 쓰였으면 하네요^^
출처 : http://www.lemonwidz.com/tc/
'소프트웨어 > C# & ASP.NET' 카테고리의 다른 글
C#에서의 데이터형 (0) | 2009.08.06 |
---|---|
닷넷 3.5를 이용한 디자인 패턴의 구현 (4) (0) | 2009.08.05 |
MSDN 웹 캐스트 시리즈 (0) | 2009.07.29 |
개발자가 알아야 할 웹 보안 (0) | 2009.07.22 |
WCF Tip : Transaction 처리 주의사항 (0) | 2009.07.15 |