본문 바로가기

TechLog

한글판 Visual Studio 2010에서 Windows Phone 7 프로젝트 템플릿이 등록되지 않을 경우

원래 Visual Studio 2010(professional 이상 edition이어야 한다)과 Windows Phone Development Tools가 같이 설치되어 있을 경우에는, Windows Phone 7 관련 프로젝트 템플릿 - Silverlight for Windows Phone, XNA Game Studio 4.0 프로젝트 템플릿이 자동으로 VS2010 환경에 추가되도록 되어 있다. 하지만 한글판 VS2010을 사용할 경우에는 모종의 버그 덕분에 XNA Game Studio 4.0 프로젝트 템플릿만이 VS2010 환경에 추가된다.

다음 화면은 한글판 VS2010에 Windows Phone Development Tools과 Visual Basic for Windows Phone Developer Tools - RTW을 설치했을 때의 프로젝트 템플릿이다. Visual Basic에는 Silverlight for Windows Phone 항목이 있는데, Visual C#에는 없는 것을 볼 수 있다. (반대로 XNA는 C#에만 있고 … 대체 패키지를 어떻게 만든거야)

 image

 

WP7 프로그래밍 멘토 책을 쓸 때에는 WP7 개발 도구에 포함된 VS2010 Express 버전을 사용하기도 했었거니와, 개인적으로는 영문판 Visual Studio를 사용하고 있는 관계로 이 문제를 짚고 넘어가지 않았었다. 이 문제는 설치 패키지에서 사용자의 입력 언어 로케일에 상응하는 프로젝트 템플릿을 생성해주지 않기 때문에 생기는 버그이다. 다음과 같이 이 버그를 임시로 해결할 수 있다 :

 

1. VS2010을 먼저 인스톨한 후, Windows Phone Development Tools를 설치한다.

2. 다음 두 경로에 ‘Silverlight for Windows Phone’ 폴더가 있는 것을 확인한다. (64비트 버전의 윈도우를 사용할 경우, ‘C:\Program Files’ 대신 ‘C:\Program Files (x86)’ 경로 아래에 있다)

  • C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\ProjectTemplates\CSharp
  • C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\ItemTemplates\CSharp

3. ‘Silverlight for Windows Phone’ 폴더를 살펴보면 ‘1033’이란 이름의 폴더가 있다. 이 폴더를 ‘1042’라는 이름의 폴더로 복사한다.

4. Visual Studio 2010 명령 프롬프트를 실행하고, 다음 명령을 입력한다 :

devenv /installvstemplates

devenv /setup

 

짐작하겠지만, 1033은 en-us의 로케일 ID이며 1042는 ko의 로케일 ID이다. 위의 작업은 영문판의 Windows Phone 프로젝트 템플릿을 한글판으로 한 벌 더 생성해주는 것이다.
(Locale ID (LCID) Chart : http://msdn.microsoft.com/en-us/library/0h88fahh(v=vs.85).aspx)

 

- 참고 : Visual Studio 2010 한글에서 Windows Phone 개발하기 http://pips.wo.tc/1067