DLL 파일을 별도 폴더에서 관리하자
요샌 프로그램 하나 만들려면 엄청난 dll들이 부가 되는데
이것들이 실행 파일과 혼재되어 정신 사납기 이를데 없다
이럴때 dll 파일만 따로 모아서 관리 할수 있으면 얼마나 좋을까??
자~ 해봅시다~
그림으로 보면 DLL폴더와 실행 화일이 따로 분리 된걸 볼 수 있다
DLL 폴더내에 따로 모아진 dll 파일들과 pdb 파일들을 볼수 있다
이렇게 하기 위해서는 먼저 DLL 폴더를 만들고 랩작업을 할때 다음 처럼
경로를 지정해서 랩을 한다
이렇게 하면 당연히 하위 DLL 폴더에서 해당 dll을 찾아 프로그램이 실행된다
하지만 그림처럼 참조 추가된 Cinch 같은 dll도 DLL 폴더로 넣을라면 어떻게 해야 할까?
이런 경우에는 Project에 프로퍼티에서 그림 처럼 설정 해준다
이렇게 해주면 참조 추가된 dll들도 DLL 폴더로 컴파일 시 옮겨지게 된다
move "$(TargetDir)\*.dll" "$(TargetDir)\DLL"
move "$(TargetDir)\*.pdb" "$(TargetDir)\DLL"
옮겨지기는 했지만 실제 프로그램을 실행 시켜 보면 dll을 찾을수 없다는 에러가 발생된다
솔루션 창에서 아래 그림처러 새로운 아이템으로 appication configuration file을
app.config란 파일 이름으로 생성한다
그리고 그 파일 안에는
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="DLL"/>
</assemblyBinding>
</runtime>
</configuration>
이렇게 써주고 실행하면 해당 dll들을 DLL폴더에서 찾아오게 된다
이로서 실행파일과 dll 파일을 깔끔하게 분리하여 산뜻하게 관리 할 수 있게 되었다
'Programming > C#' 카테고리의 다른 글
C# 경로(Path) 요소 분리하기 (0) | 2011.09.16 |
---|---|
C# XML 다루는 간단한 소스 (0) | 2011.09.16 |
[펌] 입력 문자 검사 (0) | 2011.09.14 |
C# 관련 정보 사이트[MKEXDEV.NET] (0) | 2011.09.13 |
Processing Global Mouse and Keyboard Hooks in C# (0) | 2011.05.13 |