요샌 프로그램 하나 만들려면 엄청난 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 파일을 깔끔하게 분리하여 산뜻하게 관리 할 수 있게 되었다
'[ Program ] > C#' 카테고리의 다른 글
| 소켓을 이용한 이미지 송수신 및 비트맵 이미지와 바이트형간의 형변환 (0) | 2012.09.17 |
|---|---|
| C#에서 DB에 이미지저장하고 불러오기 (0) | 2012.09.17 |
| Event Handler를 활성화 하는 Feature 생성하기 (sharepoint 2007) (0) | 2012.09.17 |
| C# 싱글톤 패턴 예제 (0) | 2012.09.17 |
| [.NET Study 02] C#에서의 배열(Array) (0) | 2012.09.17 |
댓글