'Visual Studio Integration Package'에 해당되는 글 2건

  1. 2008.08.17 Experimental Hive Trouble Shooting
  2. 2008.06.10 Visual Studio Integration Package 프로젝트 트러블 슈팅 가이드
한동안 손을 대지 못했던 Umc Framework 의 VS Integration Package 프로젝트를 다시 보려고 하는데, 이상하게 그날따라 빌드가 되지 않았습니다. 불과 얼마 전까지 잘 되던 것이었는데, 회사의 내부 프로젝트를 진행하면서 무언가를 설치했는데, 그것이 화근이었던 것 같습니다.
 
오류 메시지는
 
Failed to retrieve paths under VSTemplate for the specified registry hive
 
위 오류는 주로 개발환경(Debug) 에서 발생합니다.
어찌되었던, 처음 보는 오류 메시지에 당황하지 않고 재빨리 구글링을 시작해보았지만, MSDN Forums 에서도 뭔가 뻘답(?) 주구장창 있었습니다.
 
흔히 볼 수 없는 오류메시지라 검색 결과도 그리 많지는 않았지만, 답은 멀지 않은 곳에 있었습니다. ^.^;

DON'T PANIC
 
바로, VS SDK Command Prompt 에서
 
C:\> VSRegEx.exe GetOrig 9.0 Exp RANU
 
다음과 같이 실행을 하면 됩니다.
 
위 명령은, Visual Studio 2008 Experimental hive 를 Reset 해주는 명령으로, 잘 찾아보시면 VS SDK 에 바로가기에 존재합니다. 귀차니즘으로 스샷은 생략 -_-;
 
그럼 더 이상 위의 오류 메시지는 볼 수 없을 것입니다.
 
References
 

Posted by 땡초 POWERUMC

댓글을 달아 주세요

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 로 업그레이드 하는 방법

Upgrading VS 2005 Packages to VS 2008: A Basic Guide

 

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 로 변경을 해 주셔야 합니다.

 

[그림1] .vsct 는 빌드 작업을 VSCTCompile 로 변경

 

괜한 오기에 포기하지 않고 클래스 라이브러리 프로젝트로 작업 하는 중 여기까지의 삽질은 솔직히 삽질도 아니었습니다. 이 다음의 삽질은 정말 생각만 해도… onu


3. .vsct 파일은 루트에 위치시키자

 

제가 만든 프로젝트의 .vsct 파일은 프로젝트의 루트가 아닌 솔루션 폴더 하위에 존재하도록 구성하였습니다. .vsct VSCTCompile 타입으로 변경하였고 특별히 VS Integration Project 와 다른 부분을 못 찾았음에도 다음과 같은 오류를 내뱉고 있었습니다.

 

[그림2] 솔루션 폴더에 위치한 .vsct 파일

 

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시간 후에 정말 기막히게 청와대 홈페이지는 되살아 났습니다. 어떻게 된 건지 다시 청와대 홈페이지를 방문해 보았는데, 사이트 관리자 분 정말 톡톡 튀는 아이디어 높게 삽니다.

 

바로, 사이트 전체를 통 이미지로 바꾸어 버렸더군요. 대략 난감하면서도 대단하네요 ㅎㅎ

Posted by 땡초 POWERUMC

댓글을 달아 주세요