성태의 닷넷 이야기
홈 주인
모아 놓은 자료
프로그래밍
질문/답변
사용자 관리
사용자
메뉴
아티클
외부 아티클
유용한 코드
온라인 기능
MathJax 입력기
최근 덧글
[정성태] Working with Rust Libraries from C#...
[정성태] Detecting blocking calls using asyn...
[정성태] 아쉽게도, 커뮤니티는 아니고 개인 블로그입니다. ^^
[정성태] 질문이 잘 이해가 안 됩니다. 우선, 해당 소스코드에서 ILis...
[양승조
] var대신 dinamic으로 선언해서 해결은 했습니다. 맞는 해...
[양승조
] 또 막혔습니다. ㅠㅠ var list = props[i].Ge...
[양승조
] 아. 감사합니다. 어제는 안됐던것 같은데....정신을 차려야겠네...
[정성태] "props[i].GetValue(props[i])" 코드에서 ...
[정성태] 저렇게 조각 코드 말고, 실제로 재현이 되는 예제 프로젝트를 압...
[정성태] Modules 창(Ctrl+Shift+U)을 띄워서, 해당 Op...
글쓰기
제목
이름
암호
전자우편
HTML
홈페이지
유형
제니퍼 .NET
닷넷
COM 개체 관련
스크립트
VC++
VS.NET IDE
Windows
Team Foundation Server
디버깅 기술
오류 유형
개발 환경 구성
웹
기타
Linux
Java
DDK
Math
Phone
Graphics
사물인터넷
부모글 보이기/감추기
내용
<div style='display: inline'> <br /> <div style='font-family: 맑은 고딕, Consolas; font-size: 20pt; color: #006699; text-align: center; font-weight: bold'>CAG - 빌드 환경 구성</div><br /> <br /> 이번 글은 아래의 내용을 정리한 것입니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; width: 800px; background-color: #fbedbb; overflow-x: scroll; font-family: Consolas, Verdana;' > Composite Application Guidance for WPF - June 2008 How to: Create a Solution Using the Composite Application Library ; <a target='_tab' href='https://docs.microsoft.com/en-us/previous-versions/msp-n-p/ff921345(v=pandp.10)'>https://docs.microsoft.com/en-us/previous-versions/msp-n-p/ff921345(v=pandp.10)</a> </pre> <br /> <hr style='width: 50%' /><br /> <br /> 위의 내용 중에서 예제 응용 프로그램을 구성해보는 부분만을 설명해보겠습니다. <br /> <br /> 우선, [그림 1]과 같이 3개의 솔루션 폴더를 생성하고, 각각 물리적인 폴더로 만든 다음 ".\ApplicationProjects" 폴더 하위에 WPF 프로젝트를 생성해 둡니다.<br /> <br /> [그림 1: 초기 솔루션 구조 및 물리 폴더 구조]<br /> <img alt='impl_cag_app_step_by_step_chapter1_1.png' src='/SysWebRes/bbs/impl_cag_app_step_by_step_chapter1_1.png' /><br /> <br /> CAG를 설치하고 나면, ".\LIB\Desktop" 폴더에 각각 "CommonServiceLocation", "Unity" 하위 폴더가 생깁니다. 각각의 폴더에서 아래의 어셈블리를 "3rdPartyControls" 폴더에 복사합니다.<br /> <br /> <ul> <li>Microsoft.Practices.ObjectBuilder2.dll</li> <li>Microsoft.Practices.ObjectBuilder2.xml</li> <li>Microsoft.Practices.ServiceLocation.dll</li> <li>Microsoft.Practices.ServiceLocation.XML</li> <li>Microsoft.Practices.Unity.dll</li> <li>Microsoft.Practices.Unity.xml</li> </ul> <br /> 이렇게 해 놓으면, 나중에 Source Control에 올리는 경우 다른 개발자들이 굳이 CAG를 설치하지 않아도 곧바로 빌드할 수 있는 환경이 만들어지기 때문에 관리가 편합니다.<br /> <br /> 다음으로, 실질적인 CAG 라이브러리를 포함시켜야 하는데, 이것은 다음의 2가지 방법으로 가능합니다.<br /> <br /> <ul> <li>CAG를 빌드한 결과물만을 "3rdPartyControls" 폴더에 복사한다.</li> <li>CAG의 소스를 담고 있는 프로젝트를 솔루션에 포함시킨다.</li> </ul> <br /> 업무 프로젝트를 담당하고 있는 개발자라면 CAG 라이브러리를 곧바로 참조하는 첫 번째 방법으로 해도 되겠지만, 프레임워크를 담당하고 있는 개발자라면 "공부"를 위해서라도 소스를 포함시키는 것이 여러 모로 편리하겠지요. 그래서 저도 2번째 방법을 택해서 CAG 프로젝트를 추가했습니다.<br /> <br /> 이를 위해 Prism을 설치한 폴더의 ".\CAL\Desktop"에 위치한 아래의 3가지 프로젝트를 CAGProjects 솔루션 폴더에 복사해서 추가해줍니다.<br /> <br /> <ul> <li>Composite</li> <li>Composite.Presentation</li> <li>Composite.UnityExtensions</li> </ul> <br /> 또한, 관리를 편리하게 하기 위해 "EXE 프로젝트"인 "DevToolManager"의 출력경로를 "$(SolutionDir)bin\Debug"로 설정해 줍니다. (참조: <a target='_tab' href='/2/0/688'>Output 경로에 매크로 상수 사용하는 방법</a>)<br /> <br /> 다음으로, DevToolManager 프로젝트에서 "3rdPartyControls" 폴더에 있는 DLL을 참조 추가하고, "Composite.Desktop", "Composite.Presentation.Desktop", "Composite.UnityExtensions.Desktop" 프로젝트를 참조 추가합니다.<br /> <br /> 이제 빌드하고 나면, 최종적으로 다음과 같은 형식으로 프로젝트 및 폴더 구조가 형성됩니다.<br /> <br /> [그림 2: 완성된 솔루션 구조 및 물리 폴더 구조]<br /> <img alt='impl_cag_app_step_by_step_chapter1_1.png' src='/SysWebRes/bbs/impl_cag_app_step_by_step_chapter1_1.png' /><br /> <br /> <a target='_tab' href='http://www.sysnet.pe.kr/bbs/DownloadAttachment.aspx?fid=449&boardid=331301885'>첨부된 압축 파일</a>은, 위의 과정을 완료한 예제 솔루션입니다.<br /> <br /><br /><hr /><span style='color: Maroon'>[이 토픽에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]</span> </div>
첨부파일
스팸 방지용 인증 번호
1888
(왼쪽의 숫자를 입력해야 합니다.)