Visual Studio Integration Package 프로젝트 트러블 슈팅 가이드
.NET/Visual Studio 2008. 6. 10. 01:17 |Visual Studio Integration Package 프로젝트를 이용하여 [Umc Projects/Umc.Core] - Umc.Core 란?
와 Visual Studio 의 통합하려고 합니다. Visual Studio Addin 은 [Umc Projects/VSHelper] - VSHelper 1.0 - Visual Studio 의 부족함을 채워주는... 와 같이 단순히 Visual Studio 의 DTE 인터페이스를 이용하여 말 그대로 Addin(애드인)을 만들 수 있습니다. 반면, Visual Studio Integration Package 는 개체와 컨테이너간의 명령 전달로 Visual Studio 를 보다 세부적이고 구체적으로 접근하여 Visual Studio 의 일부로 흡수 할 수 있습니다.
기본적인 동작에도 차이점이 있습니다. Visual Studio Addin 은 비주얼스튜디오 구동과 함께 Addin 어셈블리가 로드됩니다. 하지만 Visual Studio Package 는 VSCTCompile 가 컴파일한 디자인만 로드하고, 실제 어셈블리 로드는 MouseOver 나 실제 사용자의 액션이 있을 때 비로소 어셈블리가 로드됩니다.
작업을 시작하자마자 삽질은 시작되었습니다. 삽질의 시작은 윈도우 클래스 라이브러리로 생성하여 작업을 시작했던 것이 화근이었습니다. 그냥 편하게 Visual Studio Integration Package 프로젝트를 생성하였더라면 하루라는 시간을 아낄 수 가 있었는데 말이죠.
1. Visual Studio Integration Package Project 로 변환하기
우선 프로젝트 파일에 다음과 같은 XML Element 를 만들어 주셔야 합니다.
<PropertyGroup> <RegisterOutputPackage>true</RegisterOutputPackage> <RegisterWithCodebase>true</RegisterWithCodebase> </PropertyGroup> |
위와 같이 프로젝트를 변경하시면 정상적으로 컴파일이 될 겁니다.
VS2005 Integration Package 를 VS2008 Integration Package 로 업그레이드 하는 방법 |
2. .vsct 빌드 작업 지정하기
하지만 일반 클래스 라이브러리일 경우 또 하나의 문제에 봉착하게 됩니다. 바로 .vsct 라는 Package 의 디자인과 명령을 처리하는 XML 파일은 곧바로 오류를 내뱉을테니까요.
오류는 다음과 같습니다.
The destination resource can be omitted only if there is exactly one resource file to merge |
이런 오류 메시지는 다시 프로젝트의 XML 구문을 다음과 같이 추가해 주시면 됩니다.
<EmbeddedResource Include="VSPackage.resx"> <MergeWithCTO>true</MergeWithCTO> <SubType>Designer</SubType> </EmbeddedResource> |
쉽게 의역하자면, .vsct 파일이 똥인지 된장인지 구분을 못한다고 하네요. 이 파일은 빌드 작업을 VSCTCompile 로 변경을 해 주셔야 합니다.
괜한 오기에 포기하지 않고 클래스 라이브러리 프로젝트로 작업 하는 중 여기까지의 삽질은 솔직히 삽질도 아니었습니다. 이 다음의 삽질은 정말 생각만 해도… onu
3. .vsct 파일은 루트에 위치시키자
제가 만든 프로젝트의 .vsct 파일은 프로젝트의 루트가 아닌 솔루션 폴더 하위에 존재하도록 구성하였습니다. .vsct 를 VSCTCompile 타입으로 변경하였고 특별히 VS Integration Project 와 다른 부분을 못 찾았음에도 다음과 같은 오류를 내뱉고 있었습니다.
CtoResourceMerger 작업중 예상치 못한 오류가 발생하였습니다. System.IO.FileNotFoundException |
해결방법은 더욱 더 어처구니 없었습니다. 이 문제는 .vsct 파일을 프로젝트의 루트로 옮기면 됩니다. 그럼 더 이상 위와 같은 오류는 나지 않습니다만, 다시 .vsct 파일을 솔루션 폴더로 이동하였음에도 불구하고 더 이상 위의 오류는 나지 않는다는 것입니다. 그리고 전 이런 어이없는 결과에 10분 동안 멍~ 하니 모니터만 바라보고 있었답니다 ^^; 정말 재미있는 현상이었습니다.
Visual Studio Package 를 개발하시는 분들의 위해 서비스로 URL 하나 드립니다.
[VS2005] Todos los Iconos de Microsoft Office en solo 481 KB !!! |
PS. 촛불 집회 실시간 생방송을 보면서
집에 와서 내내 촛불 집회를 오마이뉴스 생방송을 통해 보고 있는데, 시간가는 줄 모르고 재미있게 보고 있습니다. 생방송 중에 청와대 홈페이지를 다운시키자는 제의가 있었고, 청와대 홈피를 다운시키는데 이곳의 네티즌과 함께 공언했답니다^^
채 얼마 되지도 않아 1분만에 청와대 홈페이지는 다운이 되었고, 1시간 후에 정말 기막히게 청와대 홈페이지는 되살아 났습니다. 어떻게 된 건지 다시 청와대 홈페이지를 방문해 보았는데, 사이트 관리자 분 정말 톡톡 튀는 아이디어 높게 삽니다.
바로, 사이트 전체를 통 이미지로 바꾸어 버렸더군요. 대략 난감하면서도 대단하네요 ㅎㅎ
'.NET > Visual Studio' 카테고리의 다른 글
[웹케스트] Visual Studio 활용 팁 2 탄 (0) | 2008.06.23 |
---|---|
[웹케스트] Visual Studio 활용 팁 1 탄 (0) | 2008.06.23 |
Visual Studio Integration Package 프로젝트 트러블 슈팅 가이드 (0) | 2008.06.10 |
WCF Visualizers (0) | 2008.05.11 |
Custom Extension 에 Intellisence 날개를 달자 (0) | 2008.05.08 |
Vista 에서 MSI 설치 파일 권한 상승 하기 (0) | 2008.03.09 |
댓글을 달아 주세요