블로그 이미지
Every unexpected event is a path to learning for you.

카테고리

분류 전체보기 (2737)
Unity3D (817)
Programming (474)
Server (33)
Unreal (4)
Gamebryo (56)
Tip & Tech (228)
협업 (58)
3DS Max (3)
Game (12)
Utility (136)
Etc (96)
Link (32)
Portfolio (19)
Subject (90)
iOS,OSX (53)
Android (14)
Linux (5)
잉여 프로젝트 (2)
게임이야기 (3)
Memories (20)
Interest (38)
Thinking (38)
한글 (30)
PaperCraft (5)
Animation (408)
Wallpaper (2)
재테크 (18)
Exercise (3)
나만의 맛집 (3)
냥이 (10)
육아 (16)
Total
Today
Yesterday
04-19 00:04

요샌 프로그램 하나 만들려면 엄청난 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 파일을 깔끔하게 분리하여 산뜻하게 관리 할 수 있게 되었다

반응형
Posted by blueasa
, |