최근에 VS2010 Live!에서 소개된 Visual Studio LightSwitch라는 신 제품에 대해서 블로그 포스팅을 조촐하게 해봅니다. Visual Studio LightSwitch는 기존의 Visual Studio Express Edition과는 별도로 구분되는 제품으로 매우 신속하고 빠르게 새로운 형태의 소규모 데이터베이스 시스템과 통합하거나, 기존의 WCF RIA Service, SQL Server Database 등과 상호 작용하면서 C/R/U/D (Create/Read/Update/Delete) 및 검색 기능, Office 연동 기능을 지원하는 Rich Application의 생산을 가능하게 해주는 개발 도구입니다. Visual Studio LightSwitch는 2010년 8월 23일 이후부터 베타 버전으로 처음 http://www.microsoft.com/visualstudio/en-us/lightswitch 에서 공개될 예정에 있습니다.
가장 많은 웹 사이트와 가장 많은 도서에서 보여주는 C/R/U/D 기반의 응용프로그램들의 패턴을 Visual Studio LightSwitch는 최신의 UI 기술을 사용하여 그 어떤 도구들보다도 더 쉽게 프로그램이 제작될 수 있도록 도와줍니다. 단순히 Grid Control에서 데이터를 추가, 편집, 삭제할 수 있는 UI가 아니라, 여러분이 원하는 화면의 디자인을 미리 제공되는 데이터 바인딩과 함께 손쉽게 프로그래밍할 수 있도록 돕습니다.
위의 그림에서 보시는것과 같이, Visual Studio LightSwitch는 데이터 가공 방법과 범주에 따라 일반적으로 결정되는 화면의 패턴을 템플릿으로 제공하고 있습니다. 대부분의 경우, 이러한 요구 사항과 부합하는 화면들 내에서 선택이 가능하므로 단순한 데이터 조회 및 검색 화면에 들어가는 작업 소요 기간을 획기적으로 단축시킬 수 있습니다. 뿐만 아니라, 데이터 모델링에서는 단순한 시스템 데이터 형식 뿐만 아니라, 유효성 검사를 염두에 둔 모델링과 UI 연동이 가능하여 세세한 검사를 위한 코드 작성은 하지 않아도 되며, 기본으로 제공되는 Grid Control의 경우 필터링, 열의 재 배치, 행 정렬, 검색, 페이징이 Built-in 기능입니다. 그리고, 요즈음 Microsoft Application UI의 핵심적인 Trademark인 Ribbon Interface도 빠지지 않습니다. :-)
기존에 Windows Forms, Windows Presentation Foundation 기반의 개발 도구를 이용하여 Desktop 및 Office Application을 개발하는 동안 고객으로부터 가장 많이 받게 되는 요구 사항 중 하나인 Excel Export 기능이 Visual Studio LightSwitch를 기반으로 만들어지는 응용프로그램에서는 미리 제공되는 Built-in 기능 중의 하나입니다. 더 이상 Excel 상호운용성 코드나 Primary Interop Assembly를 찾아서 방황하지 않아도 됩니다. :-)
그리고 Visual Studio LightSwitch는 앞으로도 다양한 확장 패키지를 지원해 나갈 수 있으며, 이러한 확장 패키지를 기반으로하여 가까이는 시각 상의 심미적인 효과를 위한 확장, 하드웨어와의 연동 기능 뿐만 아니라 향후에는 Cloud Computing을 위한 응용프로그램 디자인까지도 염두에 둘 수 있습니다.
Visual Studio LightSwitch는 System Integration 개발 부문, Business Intelligence 확장 부문 등 기존에 특별한 기술적 이득 없이 기계적인 반복 작업을 바탕으로 하는 대부분의 소프트웨어 개발 작업에서 더 큰 진가를 발휘할 수 있을 것으로 예상됩니다. 향후에는 Chart, Graph, HTML Editing Control, Built-in Web Browser와 같이 일반적인 Desktop 및 Office Application에서 많이 사용되는 기능에 대한 Extension Pack이 추가될 것도 염두에 두어본다면 반복적인 작업으로부터 많은 일손을 덜어내어줄 수 있는 멋진 도구가 될 수 있을 것 같이 미래가 기대됩니다.
Cloud Computing과의 연계성에 있어서도 Visual Studio LightSwitch의 역할은 매우 클 것으로 보이며, 향후에 Cloud Computing과의 연계 기능에 대해서도 본격적으로 Topic을 다룰 수 있을 때, 상세하게 정보를 전달할 수 있도록 하겠습니다.
지난 아티클에서 Visual Studio 2008 과 Visual Studio 2010 을 동일한 소스 코드와 프로젝트로 개발하기 위한 환경을 구성하는 방법을 알아보았습니다.
문제 원인
하지만 지난 시간에 언급한 듯이 테스트 프로젝트가 포함된 경우는 VS2008 과 VS2010 을 동시에 사용할 수 없는 문제가 발생합니다. 그 이유는 Microsoft.VisualStudio.Quality 프레임워크가 개선이 되고, Microsoft.VisualStudio.TestTools 프레임워크가 도입되면서 기존의 테스트 프레임워크와 비호환적인 부분이 존재하게 됩니다.
아래와 같이 VS2008 에서 작업한 테스트 프로젝트가 있을 경우,
지난 아티클의 방법으로 프로젝트를 변환하게 되면 아래의 오류가 발생합니다.
기존 프로젝트는 기존의 .NET Framework 버전을 그대로 사용할 수 있지만, 테스트 프로젝트는 반드시 .NET Framework 4.0 으로만 사용할 수 있습니다.
만약 하위 프레임워크 버전인 .NET Framework 3.5 로 변경하고자 할 경우 아래와 같은 오류 메시지가 나타나고, 다시 .NET Framework 4.0 버전으로 변경이 됩니다.
일부 이미 완성된 테스트 프로젝트인 경우 이것보다 더 다양한 오류 메시지를 볼 수 있습니다.^^;
어쨌든, Microsoft.VisualStudio.QualiltyTools 프레임워크가 .NET Framework 4.0 버전으로 고정되어 자칫 테스트 프로젝트가 굉장히 큰 우범을 저지를 수 있는 문제가 될 수 있습니다.
반대로 Visual Studio 2010 에서 만든 테스트 프로젝트는 .NET Framework 4.0 이 기본이고 Microsoft.VisualStudio.QualityTools 프레임워크와 Microsoft.VisualStudio.TestTools 프레임워크가 기본 참조(RTM 에서는 제외 됨)이며, 이 프레임워크의 버전도 4.0.xxxxx 버전이라 하위 버전과 호환되지 않습니다.
VS2010 이든 VS2008 이든 테스트 프로젝트가 한번 VS2010 으로 업그레이드 되었다면, VS2008 에서 테스트 프로젝트를 사용하기 위해서는 다운그레이드는 그리 쉽지 만을 않습니다. 왜냐하면 VS2008 에서 테스트 프로젝트를 로드하면 프로젝트의 참조가 깨져있습니다.
그 이유는 .csproj 파일을 열어보면 답이 나오는데요. 아예 Microsoft.VisualStudio.QualityTools 프레임워크의 버전 번호를 명시하여 해당 VS2008 에서는 어셈블리 리디렉션(Assembly Redirection) 을 시키기가 좀 애매해 집니다.
문제 해결 기본 지식
이 문제를 해결하기 위해서는 테스트 프로젝트간의 비 호환적인 테스트 프레임워크로 인한 문제이므로, 문제를 해결하기 위한 접근 측면에 제한을 둘 수 밖에 없습니다. Visual Studio 2010 에서는 Coded UI, Test Impact 등 새로운 기능이 추가되었고, 기존 테스트 또한 비주얼한 부분이 개선이 되면서 강제적으로 테스트 프레임워크의 버전을 .NET Framework 4 로 고정을 시키는 것 같습니다.
이 문제는 MSBuild 를 통해 해결하기 위한 기본적인 지식을 알려드립니다. 여러분이 알다시피 MSBuild 는 Microsoft 의 통합 빌드 솔루션입니다. 예전에는 "빌드"라는 말 대신 "컴파일"이라는 단어를 사용했었죠. 컴파일이란 소스 코드를 목적 파일 또는 실행 파일로 변환하는 과정을 "컴파일"이라고 합니다.
컴파일과 빌드를 비교하는 아주 간단한 그림 입니다.
컴파일은 목적은 소스 코드를 목적 파일로 변환하여 실행 파일 또는 라이브러리로 만들기 위한 목적입니다.
빌드는 컴파일의 일련의 과정을 플로우(Flow) 로 처리하여 컴파일 중에 더 많은 작업을 하기 위한 목적입니다.
가장 대표적인 빌드 솔루션이 MSBuild 이며, 이 외에 Ant 또는 NAnt 등이 바로 이러한 솔루션입니다. 그리고 Team Foundation Server 의 팀 빌드도 바로 MSBuild 에 기반하고 있다는 것입니다.
필자 또한 MSBuild 를 접하면서 나의 지식의 끝을 무한하게 확장해 주었던 것이 MSBuild 입니다. MSBuild 는 정적인 컴파일 방식에서 동적인 방식의 빌드로 거듭나면서 굉장히 많은 가능성을 보여주는 부분이기도 합니다. Microsoft 의 MSBuild 의 대략적인 구조는 아래와 같습니다.
기본적으로 MSBuild 는 Task 의 집합이라고 해도 과언이 아닙니다. 그리고 이 Task 중에 빌드와 연관된 Task 도 있습니다. 이 Task 를 .NET Framework 버전에 따라 Project References(프로젝트 참조)를 변형시키는 방법입니다.
해결 방법
이 테스트 프로젝트를 VS2008, VS2010 양 쪽에서 사용하도록 하기 위해서는 이 어셈블리 참조를 동적으로 변화시킬 필요가 있습니다. 이 방법도 MSBuild 의 Choose 라는 조건문으로 제어를 분기할 수 있는 방법입니다.
1. 먼저 솔루션 탐색기에서 열려 있는 프로젝트를 언로드 한 후, 편집을 클릭합니다.
2. 그럼 아래와 같이 참조와 관련되어 있는 부분이 ItemGroup 요소에 있는 것을 확인할 수 있습니다.
3. 이 ItemGroup 에서 VS2008, VS2010 에서 공통적인 참조 어셈블리를 별도의 ItemGroup 으로 분리합니다. 그럼 아래와 같은 형태가 되겠지요?
4. 테스트와 관련된 ItemGroup 에 Choose 조건 분기 요소를 사용하여 조금 변형해 봅시다. .NET Framework 의 버전 별로 말이죠.
위의 $(MSBuildBinPath) 는 실제로 빌드가 수행할 때의 MSBuild 의 경로를 나타냅니다. 하지만 여기에는 한 가지 함정이 있습니다. Visual Studio 2008 에서는 <Message Text="$(MSBuildBinPath)" /> 가 아래와 같이 C:\Windows\Microsoft.NET\Framework\v2.0.50727 로 나타납니다. 하지만 내부적으로 이 MSBuild 는 v3.5 경로의 MSBuild.exe 를 실행하게 됩니다. 자세한 이유와 내막은 Microsoft.Common.targets 파일을 뒤져보시면 아실거라고 생각합니다.
그리고 Choose 조건 분기 요소는 if ~ else 와 같은 구문입니다. ItemGroup 요소는 하나의 항목을 담는 필드라고 보시면 되고, PropertyGroup 은 한 Property 에 여러 항목을 담는 속성이라고 보시면 됩니다. 이 부분은 MSBuild 를 공부해 보시면 어렵지 않는 기본적인 부분이니 자세한 설명은 여기에서 하지 않겠습니다.
5. 모두 완료 되었습니다. 각각의 VS2008, VS2010 에서 테스트 프로젝트를 모두 사용할 수 있게 되었습니다.
만약 Coded UI 와 같은 VS2010 의 새로운 기능을 사용할 경우 아래와 같이 추가적인 어셈블리를 참조하게 됩니다.
이 경우도 위의 4번과 같이 ItemGroup 의 VS2010 용 어셈블리를 아래와 같이 넣어버리면 됩니다.
그럼 VS2008 인지 VS2010 인지에 따라서 참조 어셈블리가 완벽하게 분리가 됩니다.
하지만 VS2008 에서 빌드를 할 경우 아래와 같이 오류가 발생하게 됩니다. 당연히 VS2008 에서는 Coded UI 등에서 필요한 Microsoft.VisualStudio.TestTools 프레임워크가 존재하지 않고, 이 프레임워크를 재사용하기 힘들기 때문입니다.
하지만 이 문제로 해결해 볼까요? 위에서 Property 를 재정의한 구문이 생각나실 겁니다. 전처리 지시문의 상수 값으로 사용되는 <DefineConstants> 에 NET4.0 빌드인지, NET3.5 빌드인지 알 수 있도록 상수 값을 선언하였습니다.
이 상수 값을 이용하여 CodedUI 등 VS2010 에서 새로 추가된 부분에, #if ~ #endif 지시문을 사용하여 감싸 주시면 됩니다.
이제 Visual Studio 2008 이든 Visual Studio 2010 이든 테스트 프로젝트를 양 쪽 어떤 도구를 사용하든 테스트가 가능하도록 구성하는 방법을 완료하였습니다.
6월 1일 REMIX10 행사를 기점으로 Visual Studio 2010 한글판이 대중에 공개가 되었습니다. Visual Studio 2010 의 영문 버전은 그 이전에 출시가 되었지만 한글판이 출시된 이후에 더 많은 관심을 받게 되었습니다.
Visual Studio 2010 으로 개발 환경을 업그레이드를 진행하는 곳이 특히 해외에서 많습니다. 제가 그걸 어떻게 다 아냐구요? 항상 트위터 검색을 통해 해외에서 Visual Studio 2010 를 어떻게 사용하고 있는지 매일 매일 관심 있게 보고 있답니다. ^^
어쨌든 Visual Studio 2008 을 쓰고 있지만, Microsoft MVP 이거나 회사에서 MSDN Subscription 라이선스가 있다면 Visual Studio 2008, Visual Studio 2010 개발 도구가 혼합해서 사용될 경우가 있습니다. 이런 경우 두 개발 도구에서 쌍방 개발 가능하게 구성을 할 수 있습니다.
이 방법은 제니퍼소프트의 정성태 과장님의 블로그에서 예전에 소개했던 VS2005, VS2008 혼합해서 사용하는 방법과 동일합니다.
1. 간단한 예제로 Console Application 을 Visual Studio 2008 에서 생성했습니다.
2. 기존의 솔루션 파일의 복사본을 하나 만듭니다.
3. 솔루션 파일을 노트패드로 ConsoleApplication - VS2010.sln 파일을 열어 다음의 항목을 수정합니다.
4. 프로젝트 파일을 열어 ToolsVersion 의 '3.5' 를 '4.0' 으로 수정합니다. 'ConsoleApplication1.csproj'
만약 다수의 프로젝트일 경우, 위의 3번에서 수정한 솔루션 파일을 열면 프로젝트를 변환하는 마법사로 진행하면 쉽게 변경이 됩니다.
5. 모두 완료 되었습니다. Visual Studio 2010 와 Visual Studio 2008 에서 각각의 솔루션 파일로 동시에 작업을 할 수 있습니다.
위의 방법을 이용하여 Visual Studio 2008 과 Visual Studio 2010 에도 모두 개발이 가능합니다. 하지만 만약 테스트 프로젝트가 포함이 되어 있다면 두 개발 도구에서 사용할 수 없습니다. 왜냐하면 .NET Framework 4.0 에서는 테스트와 관련된 Microsoft.VisualStudio.Quality 프레임워크가 개선되고, Microsoft.VisualStudio.TestTools 프레임워크가 추가되면서 이전 Visual Studio 2008 과 프로젝트가 호환이 되지 않습니다.
하지만 불가능할 것 같은 테스트 프로젝트도 Visual Studio 2008과 Visual Studio 2010에서 동시에 사용할 수 있는 방법이 있습니다. 이것은 다음에 알아보도록 하겠습니다.
DreamSpark는 Microsoft의 Spark 프로그램 시리즈 중 하나이며, 웹 비지니스 활성화를 위한 WebSiteSpark 프로그램, 초기 창업 지원 및 기업 활성화를 위한 BizSpark 프로그램이 있습니다. 그리고 DreamSpark는 학생들의 IT 기술력 향상을 위하여, 기존에 제공되어오던 MSDN Academic Alliance (http://msdn.microsoft.com/ko-kr/academic/default.aspx)와는 별도로 전역적으로 일반화하고 확대한 프로그램입니다.
DreamSpark를 통해서 2010년 6월 현재 제공받을 수 있는 소프트웨어 솔루션 및 혜택들은 다음과 같습니다. 다음은 한글판까지 같이 제공되는 소프트웨어 솔루션들의 목록입니다.
Visual Studio 2010 Professional Edition (* 한글판 제공됨)
Windows Server 2008 R2 Server Standard Edition (* 한글판 제공됨)
Expression Studio 3 (* 한글판 제공됨)
Visual Studio 2008 Professional Edition (* 한글판 제공됨)
Windows Server 2008 Server Standard Edition (* 한글판 제공됨)
SQL Server 2008 Developer Edition (* 한글판 제공됨)
SQL Server 2008 Express Edition (* 한글판 제공됨)
Visual Basic 2008 Express Edition (* 한글판 제공됨)
Visual C# 2008 Express Edition (* 한글판 제공됨)
Visual C++ 2008 Express Edition (* 한글판 제공됨)
Visual Web Developer 2008 Express Edition (* 한글판 제공됨)
Visual Studio 2005 Professional Edition (* 한글판 제공됨)
그 외에 추가적으로 제공되는 소프트웨어들은 다음과 같습니다.
Visual Studio 2010 Express Edition
Windows Mobile 6.5 SDK
Windows Phones Developer Tools CTP
XNA Game Studio 3.1
Robotics Developer Studio 2008 R3
Windows Embedded CE 6.0
Virtual PC 2007
Concurrency and Coordination Runtime and Decentralized Software Services Toolkit 2008 R2
Windows Server 2003 Standard Edition
DreamSpark를 통하여 기본적인 운영 체제와 개발 도구를 다운로드받아서, 여러분이 원하는 소프트웨어나 웹 사이트를 손쉽게 개발하고 디자인할 수 있습니다. Microsoft Imagine Cup 대회에 참가하기 위하여 필요한 소프트웨어를 모두 이곳에서 가져오실 수 있으며, 학생 벤처를 시작하고자 하시는 분들께도 충분한 기술적인 리소스들을 모두 이곳에서 가져오실 수 있습니다.
DreamSpark 등록하는 방법
DreamSpark에 등록하는 방법은 크게 세 가지가 있습니다. DreamSpark 무료 쿠폰을 받으신 경우 (1), 국제학생증 (International Student Identification Card - ISIC)을 소지하고 계신 경우 (2), DreamSpark에 관리자가 기관을 등록한 경우 (3)로 나눌 수 있습니다. 이 세 가지 중 하나로 해당이 되시는 경우, Windows Live ID를 통하여 로그인을 하신 후, Verification 과정을 거치면 됩니다. 각 다운로드 항목 별로 페이지에 Verify 버튼을 클릭하신 후, 국가를 Korea로 선택하시고, 학생 인증으로 접속하기 위하여 Verify as a Student 라디오 버튼 항목을 클릭합니다.
(1) DreamSpark 무료 쿠폰을 받으신 경우: 아래 그림에서처럼 "I have an Activation Code" 라디오 버튼 항목을 클릭하고, Activation Code 입력란에 쿠폰에 적힌 Activation Code를 입력하고 Verify 버튼을 클릭하면 인증이 완료됩니다. 단, 중복 사용이 제한되거나 유효 기간, 유효 횟수가 있는 쿠폰의 경우 Activation Code를 재 사용할 수 없을 수도 있습니다.
(2) 국제 학생증을 가지고 계신 경우: 국제 학생증을 취급하는 대학 교육 기관의 경우 이 옵션을 사용할 수 있습니다. 국제 학생증을 취급하지 않더라도 국내외 여러 국제 학생증 발급 기관 (예: 하나은행, 한국씨티은행 등)을 통하여 약간의 수수료를 지불하고 다양한 목적으로 국제 학생증을 발급받아 혜택을 누리실 수도 있습니다.
참고: ISIC 코드를 입력할 때에, 일부 ISIC 카드의 경우 제일 마지막 자릿수를 제외하고 입력해야 하는 규칙이 따를 수 있습니다. 저의 경우, 인하대학교 학생증과 겸용해서 발급되는 ISIC 카드의 경우 이러한 규칙이 적용됩니다.
(3) DreamSpark 서비스에 등록된 기관에서 재학중이신 경우: 이 경우 해당 기관 내의 재학생임을 증명할 수 있는 수단을 사용하여 접속할 수 있습니다. 해당 기관 내에서 자체적으로 SSO (Single Sign On) 서비스를 Windows Live ID 기반으로 구현하였을 경우 이를 이용하시면 됩니다. 만약 별도의 SSO 서비스가 없을 경우 해당 기관에서 제공하는 메일 서비스를 경유하여 인증을 완료하실 수 있습니다.
Continue 버튼을 클릭하여 계속 진행하면 다음과 같은 페이지가 나타납니다.
위의 화면에서 해당하는 기관을 선택하고, Continue 버튼을 클릭합니다. 아래의 링크를 클릭하시면 2010년 7월 현재 DreamSpark에 등재된 기관들의 목록을 보실 수 있고, Ctrl + F 키를 이용하여 해당 기관명을 검색하실 수 있습니다.
해당 기관 내의 구성원 - 또는 - 학생임을 인증하기 위하여, 해당 기관에서 운영 중인 전자 메일 서비스의 계정과 주소를 이곳에 기재해야 합니다. 예를 들어, 메일 서비스의 도메인이 rkttu.com 일 경우, E-mail Address에 anonymous@rkttu.com 과 같이 기재할 수 있으며, Confirm E-mail Address에 다시 한번 같은 메일 주소를 기재하면 됩니다. 기재가 끝나면 Verify 버튼을 클릭하여 추가 절차를 진행합니다.
DreamSpark는 대학생 여러분들을 위한 솔루션입니다.
Verification 과정을 완료하고 다운로드를 할 때에는 Internet Explorer 뿐만 아니라 Firefox, Chrome 등 여러분이 원하는 브라우저를 이용하여, 별도의 Download Manager를 이용하거나, 직접 웹 브라우저를 이용하여 다운로드하거나 자유롭게 이용하실 수 있습니다. 참고로, Internet Explorer를 이용하여 직접 브라우저로 다운로드하게 되는 경우, 단일 파일의 크기가 4GB 이상인 파일을 다운로드받을 수 없다는 점만 유의하시면 되겠습니다.
소프트웨어 개발이나, IT 기술을 개발하기 위하여 더 이상 불법 다운로드 서비스를 이용하지 마세요. DreamSpark를 통하여 최신 기술을 항상 편리하게 이용하고, 손쉽게 다운로드받으실 수 있습니다. 그리고, DreamSpark와 더불어서 비 정기적으로 진행되는 Windows 및 Office의 대학생 할인 프로모션 프로그램도 자주 있으니 최신 소프트웨어와 IT 기술의 혜택을 편리하게 가져가실 수 있으면 좋겠습니다.
지난 6월 1일 Microsoft 의 여러가지 제품과 기술이 총 집합하는 행사 REMIX10 입니다. 이날 Visual Studio 2010 공식 팀 블로그는 여러 파트너사 부스와 Visual Studio 2010 제품의 메인 부스에 버금가는 규모로 부스가 운영되었습니다.
이 날, 클라우드, 모바일, VS2010 등의 큰 테마를 주제로 진행된 다양한 세션 중 단연, Visual Studio 2010 이 참석하신 여러분의 기술적인 욕구를 충분히 충족할 수 있는 시간이 되지 않았나 생각합니다.
필자는 Visual Studio 2010 이 주는 새로운 기능에 단지 포커스를 맞추지 않습니다. 왜냐하면 기능은 언제든지 보강을 할 수 있기 때문이죠. 그것보다 더 중요한 것은 Visual Studio 2010 이 우리에게 주는 가치입니다. 제가 생각하는 가치관 중에 "가치는 가치를 아는 자만이 가치를 안다"라는 것처럼 Visual Studio 2010 의 가치를 말이죠.
왜 Visual Studio 2010 이여야만 하는가…?
Visual Studio 2010 의 장점이라면 바로 통합 환경(IDE-Integrated Development Environment) 를 제공합니다. 하지만 지금의 패러다임은 단순 통합 환경은 더 이상 매력이 없습니다. 왜냐하면 어떤 다른 개발 플랫폼이든 통합 환경을 제공하고 있기 때문입니다.
감히 이제는 Visual Studio 2010 을 통합 개발 환경이라고 부르지 마십시오. 왜냐하면 Visual Studio 2010 은 라이프 사이클 관리 도구(Lifecycle Management) 입니다. 단순한 개발 영역 뿐만 아니라, 소프트웨어 개발을 위한 착수, 설계, 테스트, 폐기, 운영에 아우르는 모든 일련의 과정이 Visual Studio 2010 으로 모든 것이 가능해집니다.
또한 기존의 딱딱한 개발 환경은 잊어버리셔도 좋습니다. 어느 누구에게도 자신의 스타일이 있듯이 기존의 개발 도구도 개발 도구만의 스타일이 있었습니다. 하지만 Visual Studio 2010 은 개개인의 스타일에 맞추어 드립니다. 자신에게 착~ 맞는 옷이 가장 뽀대가 나듯이, 자신에게 가장 잘 맞는 개발 도구가 최상의 개발 생산성을 낼 수 있는 것과 같은 이치 입니다.
개발자끼리의 소통 수단은 단지 "코드" 입니까? 코드를 잘 만드는 사람이 고급 개발자이고, 코드를 잘 만들지 못하는 사람이 초급 개발자인 시대는 이미 몇 년 전 이야기 입니다. 코드는 비즈니스 영역의 산출물이지, 코드가 목적이 되어서는 안됩니다.
코드는 비즈니스 목표를 해석해 놓은 산출물입니다. 결국 코드는 어플리케이션이 잘 동작하도록 설계대로 구현된 산출물입니다. 코드를 어떻게 구현했느냐는 2차적인 수단이며, 코드의 흐름을 파악할 수 있는 것이 더욱 중요합니다.
Visual Studio 2010 의 강력한 데이터 시각화 기능들은 코드 중심이 아닌, 전체적인 흐름을 파악할 수 있는 통찰력을 제공해 줍니다.
소프트웨어의 버그는 왜 발생하는가….? 필자의 블로그의 [ALM-Test] 왜 단위 테스트를 해야 하는가? [2] 에서 언급했듯이 코드, 클래스, 컴포넌트, 레이어간의 연동 관계가 생성되면서 주로 발생하게 됩니다. 코드의 자체적인 결함 보다는 연동/종속적인 관계가 형성이 되면서 버그는 증식이 됩니다.
최근 우리나라의 소프트웨어 업계에서 테스트라는 영역은 이전보다 더 큰 관심을 보이고 있습니다. 테스트는 어떻게든 할 수 있지만, 어떻게 가시적이고 올바른 테스트가 가능한 것인가에 대해서 말입니다. Visual Studio 2010 과 Team Foundation Server 2010 그리고 Test & Lab 은 테스트에 대한 방법론을 가장 올바르게 가이드하는 환경을 제공해 줍니다.
상상해 보셨습니까? 테스트가 생산 공정의 라인처럼 자동화 된다는 것을… 이미 그 상상은 현실이랍니다. ^^
Visual Studio 2010 에 대한 문의 사항은 메일 powerumc at gmail.com 또는 트위터 @powerumc, @vsts2010 으로 언제든지 연락을 주시기 바랍니다. 가장 좋은 방법으로 도구와 시스템을 업그레이드 하는 방법이나 기술 업체와 연결하여 드리겠습니다.
새로운 버전의 Visual Studio가 출시되었지만, 설치하는데 시간도 오래 걸리고 새로운 기능을 일일이 테스트해보기 어려우신 분들이 많으실 것입니다. 혹은, Imagine Cup과 같은 IT 경진 대회를 준비하시는 학생 여러분들은 적당한 소프트웨어 개발 도구를 찾을 수 없어 고민이 크실 수 있습니다. 오늘 강좌에서는 이러한 고민을 덜어줄 가볍고 편리한 Visual Studio의 새 버전을 소개해드릴까 합니다.
그 주인공은 바로 Express Edition 입니다. Visual Studio Express Edition은 지난 Visual Studio 2005부터 지속적으로 업데이트되고 있는, 이제는 Microsoft Visual Studio Family의 중요 멤버로 자리잡은 주요 제품군 중 하나가 되었습니다. Express Edition이라는 이름에서 알 수 있듯이, 개발자들에게 가장 핵심적인 Subset을 제공하는 버전입니다. 하지만 그 기능은 "절대 빈약하지 않습니다."
Visual Studio Express Editon은 Visual Studio .NET 2002/2003 제품군이 발표될 무렵까지 유지되어왔던 개별 언어 제품군들에 대한 새로운 묶음 패키지입니다. Visual Basic .NET, Visual C#, Visual C++, Visual Web Developer를 주축으로 하며, 여기에 부수적으로 SQL Server의 Express Edition까지 항상 같이 제공되어왔었습니다. Visual Studio 2005 시절에는, 지금은 지원이 중단되었지만 Visual J#에 대한 Express Edition도 제공되었던 적이 있었습니다.
왜 Express Edition인가?
Visual Studio Express Edition은 단지 공짜로 제공되는 프리웨어이기 때문에 가치가 있는 것은 아닙니다. Microsoft가 발표하는 주요 최신 기술들을 재빨리 시험해볼 수 있는 훌륭한 플랫폼으로 Express Edition의 역할이 점차 옮겨가고 있으며, 대표적인 예가 바로 Visual Studio Express Edition for Windows Phone 7입니다. 그리고 XNA Framework 역시 Express Edition을 기초로 모든 SDK를 제공해왔었습니다.
저 개인적으로는 Express Edition을 매우 애용합니다. Express Edition은 프로토 타이핑 프로그래밍을 할 수 있도록 여러분의 Mental Model을 바꾸어줍니다. Visual Studio를 이용하여 프로그래밍을 시작하는 것은, 사용하는 시스템의 종류에 따라서는 또 하나의 새로운 운영 체제를 로딩하는것과 같은 기분을 느끼게 하여 부담스러울 수 있습니다. 하지만, 전체 기능을 로드하지 않고서 필요한 프로그래밍 언어에 해당되는 IDE만을 로드하기 때문에 훨씬 로딩 속도도 빠릅니다. 그리고, C#과 VB.NET의 경우, 프로젝트를 임시 디렉터리에 생성하는 것을 기본으로 하기 때문에, 여러분의 프로젝트 디렉터리가 지저분해질 걱정을 하지 않고 작은 코드와 프로그램을 시험해보기 위하여 망설임없이 IDE를 켤 수 있습니다. 만약 프로젝트를 실제로 작성하기를 원치 않는다면, 프로젝트를 닫을 때 나타나는 저장 여부 대화 상자에서 단순히 "버리기" 버튼만 클릭하면 됩니다.
아래의 질문 목록들은 Express Edition을 선택하고 활용하는 데에 몇 가지 중요한 기준들이 될 수 있습니다.
A. 불법 소프트웨어 단속에 걸리지 않는 완전한 프리웨어인가?
예. 다만, 30일 이내에 Windows Live ID를 사용하여 완료할 수 있는 무료 등록 절차를 통하여 Serial Number를 받아 프로그램에 등록해야 합니다. 30일 이후에도 등록되지 않은 상태로 남아있으면 프로그램 시작 시 등록을 하지 않으면 실행되지 않도록 프로그램이 변경됩니다.
B. Express Edition을 이용하여 상용 소프트웨어를 개발할 수 있는가?
예. 또한, 오픈 소스 라이선스 (GPL, LGPL, MPL, BSD 등)를 대상으로 하는 소프트웨어 프로젝트에서도 Express Edition을 사용하는데에 아무런 제약이 없습니다.
C. Crystal Report나 Microsoft Report Designer가 제공되는가?
아니오. 제공되지 않습니다.
D. Visual C++ Express Edition의 경우 MFC나 ATL 프로젝트를 생성하고 GUI를 디자인할 수 있는가?
아니오. MFC나 ATL 프로젝트를 새로 생성하는 기능이 없고, GUI 디자인도 제약이 있습니다. 단, Visual Studio 2010 Professional 이상에서 작성한 Visual C++ Project를 Express Edition에서 기본적인 수준에서 열거나 편집하거나 빌드하는 것에는 환경 설정이 정확하다면 문제가 없습니다.
E. Express Edition을 이용하여 Silverlight Project나 Windows Azure Application을 만들 수 있는가?
예. Silverlight Tools와 Windows Azure Tools 모두 Visual Web Developer의 기능 집합을 이용하여 SDK가 설치되므로 Visual Web Developer Express Edition을 설치하면 Silverlight와 Windows Azure 응용프로그램을 개발할 수 있습니다.
F. Windows Installer 프로젝트를 생성할 수 있는가?
아니오. 다만 ClickOnce 기능은 Visual Basic .NET Express Edition과 Visual C# Express Edition 모두 지원됩니다.
G. 여러가지 서로 다른 종류의 프로젝트를 한 솔루션 안에 포함할 수 있는가?
아니오. 교차 언어 지원은 Express Edition 이상의 버전 (예: Standard / Professional)에서부터 지원됩니다. 다만, 같은 언어끼리 한 솔루션 안에 여러 프로젝트를 생성하고 관리하는 것에는 문제가 없습니다.
Visual Studio Express Edition을 설치하려면 http://www.microsoft.com/express 에 방문한 뒤 Download 링크를 클릭하여 원하는 제품을 선택하여 웹 설치 마법사를 다운로드하거나, 전체 버전의 DVD ISO 이미지 파일을 다운로드하여 ISO 마운트 프로그램을 이용하여 설치 프로그램을 오프라인에서 실행하는 방법이 있을 수 있습니다. 이 글을 작성하는 현 시점에서 Express Edition에도 한국어 버전이 추가되어, Visual Studio 2010과 .NET Framework 4.0의 최신 기능을 빠르고 간편하게 테스트해보실 수 있습니다.
각각의 제품을 설치하신 뒤에는 30일 이내에 제품 등록을 하셔야 합니다. 제품 등록 이전에는 "평가판"이라는 문구가 나타나지만 등록을 한 이후에는 정품으로 변환되기 때문에 걱정하지 않으셔도 됩니다. 등록하는 과정에서 Windows Live ID가 필요합니다.
Express Edition 화면 미리 보기
마지막으로 제안 한 가지
Internet Explorer 6.0을 사용하지 말자는 제안은 정말 널리 퍼져있고, 이제는 어느정도 Internet Explorer 6.0이 왜 문제가 되는지 충분히 공감대가 형성되어있습니다. 하지만, Visual C++ 컴파일러는 어떤가요? 아직도 6.0을 사용하고 계신가요?
서비스 팩 6를 설치했다고 할지라도 Visual C++ 6.0은 Internet Explorer 6.0보다 훨씬 더 오래된 제품입니다. http://en.wikipedia.org/wiki/Visual_C%2B%2B 페이지의 설명에 따르면 Visual C++ 6.0은 1998년에 발표된 제품이고, 이 글을 작성하는 현 시점에서 생각해보면 무려 12년이나 된 제품입니다. http://archvista.net/1328 에서 소개하는 것 처럼, 아직도 Visual C++ 6.0을 사용하신다면 여러분은 12년 묵은 우유를 드시는것과 다름이 없습니다.
이 글을 보시게 될 수도 있을 전산학부 교수님, 조교님, 그리고 학생 여러분들께 부탁드립니다. Visual C++ 6.0에 대한 라이선스를 가지고 있다는 이유만으로, 바꾸기 귀찮다는 이유만으로 과제를 검사하고 테스트하지 말아주십시오. 10년이면 강산도 바뀌는 세월입니다. Visual C++ 컴파일러도 업그레이드가 필요합니다. 전체 버전을 이용하지 않더라도, Visual Studio 2008 또는 2010 Express Edition이 충분한 솔루션이 될 수 있습니다.
Visual Studio 2010, 2008 버전에서는 .NET Framework 2.0, 3.5, 3.5 SP1 을 선택할 수 있는 Multi Targeting(멀티 타게팅) 기능을 제공합니다. 최신의 .NET Framework 버전을 선택하여 개발할 수 있으며, 하위 호환성 있는 개발을 위해 최신의 Visual Studio 에서 하위 .NET Framework 버전을 선택할 수 있습니다.
하지만 Visual Studio 2010, 2008 의 Multi Targeting 은 .NET Framework 1.x 를 지원하지 않습니다. 프레임워크 버전과 개발 도구간의 비호환성 문제 때문에 .NET Framework 1.x 버전은 Visual Studio 2003 으로만 개발이 가능합니다.
이번에 소개하는 방법을 통하여 Visual Studio 2010, 2008, 2005 도구를 이용하여 .NET Framework 1.x 를 개발할 수 있는 환경을 구성할 수 있습니다.
단, 기존의 Visual Studio 2003 은 MSBuild(Microsoft 통합 빌드 솔루션) 를 지원하지 않기 때문에, .NET Framework 4.0 SDK 에 포함된 MSBuild Targets 를 사용하였습니다.
(Visual Studio 2008, 2005 버전에서도 아래와 같은 방식으로 MSBuild Targets 을 수정하시면 .NET Framework 1.1 개발 및 빌드 환경을 구축할 수 있습니다)
Visual Studio 2003 으로 개발된 프로그램
아래와 같이 간단한 ConsoleApplication1 프로젝트를 만들었습니다.
이 응용 프로그램을 실행하면 다음과 같은 결과가 나옵니다.
Mscorlib.dll 의 버전이 1.0.5000.0 인 것을 확인할 수 있습니다.
Visual Studio 2010 으로 프로젝트 컨버팅 하기
만들어진 Visual Studio 2003 프로젝트를 Visual Studio 2010 버전으로 컨버전합니다.
컨버전이 완료되었으면 프로젝트 파일(.csproj) 을 열어 아래와 같이 수정합니다.
먼저 기존의 .NET Framework 어셈블리를 .NET Framework 1.1 의 어셈블리로 강제로 변경해 줍니다. Visual Studio IDE 에서 .NET Framework 1.1 을 추가하면 2.0 이상의 어셈블리가 추가되므로 반드시 .csproj 파일에서 변경해 주어야 합니다.
그리고 Import 노드에 Microsoft.Csharp.v1.1.targets 의 라인을 추가해 줍니다.
Microsoft.CSharp.v1.1.targets 파일 만들기
$(MSBuildToolsPath) 의 폴더인 C:\Windows\Microsoft.NET\Framework\v4.0.30128 경로에서 Microsoft.CSharp.targets 파일의 복사본 이름을 Microsoft.CSharp.v1.1.targets 파일로 만들어 줍니다.
위의 방법으로 Microsoft.Common.target 파일을 Microsoft.Common.v1.1.targets 파일 이름으로 복사본을 만듭니다.
Microsoft.CSharp.v1.1.targets 파일 수정하기
아래의 노드를 찾아서 <NoWarn> 노드의 1701; 1702 값을 제거합니다. 이 값은 .NET Framework 1.1 의 경고 값으로 사용할 수 없는 값입니다.
그리고 아래의 CSC 노드를 찾아서 ErrorReport 속성을 제거합니다. .NET Framework 1.1 SDK 의 CSC.exe 는 ErrorReport 기능이 존재하지 않기 때문입니다.
추가로 CSC 노드의 ToolPath 의 경로를 아래와 같이 수정합니다. 이 경로에 포함되는 csc.exe 를 사용하여 .NET Framework 1.1 로 빌드하는 중요한 구문입니다.
아래의 Import 노드를 찾아서 복사본으로 만들었던 Microsoft.Common.v1.1.targets 파일명으로 변경합니다.
Microsoft.Common.v1.1.targets 파일 수정하기
아래의 노드를 찾아 붉은 영역의 노드를 추가합니다. 만약 TargetFrameworkVersion 노드를 .csproj 파일에 명시적으로 수정하게 되면, Visual Studio 2010 은 v2.0 이상 버전으로 변경을 해야 프로젝트 파일을 로드할 수 있기 때문에 Microsoft.Common.v1.1.targets 파일에서 변경해야 합니다.
아래의 ReportingServiceTargets 노드를 찾아 주석으로 처리하거나 삭제합니다.
아래의 _DebugSymbolsIntermediatePath 노드의 ItemGroup 을 주석으로 처리합니다. $(IntermediateOutputPath) 이미 기존의 Microsoft.CSharp.targets 에서 값이 선언되었으므로 같은 값이 추가되거나 할 경우 Collection Type 으로 간주하기 때문에 이 구문은 필요가 없습니다.
마찬가지로 아래의 구문도 $(IntermediateOutputPath) 는 Collection Type 으로 처리가 되는 것을 방지하기 위해 아래의 구문도 주석으로 처리하거나 제거합니다.
아래의 구문도 위와 같은 이유로 제거하거나 주석으로 처리합니다.
아래의 Code Analysis 기능은 Visual Studio 2003 에서 통합되어 제공되지 않기 때문에 제거하거나 삭제합니다.
Visual Studio 2010 에서 .NET Framework 1.1 빌드 하기
모든 구성이 완료 되었으면, Visual Studio 2010 에서 ConsoleApplication 을 실행해 봅니다. 빌드가 .NET Framework 1.1 로 빌드된 것을 확인할 수 있습니다.
Visual Studio 2010, 2008 버전에서는 .NET Framework 2.0, 3.5, 3.5 SP1 을 선택할 수 있는 Multi Targeting(멀티 타게팅) 기능을 제공합니다. 최신의 .NET Framework 버전을 선택하여 개발할 수 있으며, 하위 호환성 있는 개발을 위해 최신의 Visual Studio 에서 하위 .NET Framework 버전을 선택할 수 있습니다.
하지만 Visual Studio 2010, 2008 의 Multi Targeting 은 .NET Framework 1.x 를 지원하지 않습니다. 프레임워크 버전과 개발 도구간의 비호환성 문제 때문에 .NET Framework 1.x 버전은 Visual Studio 2003 으로만 개발이 가능합니다.
하지만 아래의 방법을 통하여 Visual Studio 2010, 2008, 2005 도구를 이용하여 .NET Framework 1.x 를 개발할 수 있는 환경을 구성할 수 있습니다.
기존의 Visual Studio 2003 은 MSBuild(Microsoft 통합 빌드 솔루션) 를 지원하지 않기 때문에, .NET Framework 4.0 SDK 에 포함된 MSBuild Targets 를 사용하였습니다.
Visual Studio 2003 으로 개발된 프로그램
아래와 같이 간단한 ConsoleApplication1 프로젝트를 만들었습니다.
이 응용 프로그램을 실행하면 다음과 같은 결과가 나옵니다.
Mscorlib.dll 의 버전이 1.0.5000.0 인 것을 확인할 수 있습니다.
Visual Studio 2010 으로 프로젝트 컨버팅 하기
만들어진 Visual Studio 2003 프로젝트를 Visual Studio 2010 버전으로 컨버전합니다.
컨버전이 완료되었으면 프로젝트 파일(.csproj) 을 열어 아래와 같이 수정합니다.
먼저 기존의 .NET Framework 어셈블리를 .NET Framework 1.1 의 어셈블리로 강제로 변경해 줍니다. Visual Studio IDE 에서 .NET Framework 1.1 을 추가하면 2.0 이상의 어셈블리가 추가되므로 반드시 .csproj 파일에서 변경해 주어야 합니다.
그리고 Import 노드에 Microsoft.Csharp.v1.1.targets 의 라인을 추가해 줍니다.
Microsoft.CSharp.v1.1.targets 파일 만들기
$(MSBuildToolsPath) 의 폴더인 C:\Windows\Microsoft.NET\Framework\v4.0.30128 경로에서 Microsoft.CSharp.targets 파일의 복사본 이름을 Microsoft.CSharp.v1.1.targets 파일로 만들어 줍니다.
위의 방법으로 Microsoft.Common.target 파일을 Microsoft.Common.v1.1.targets 파일 이름으로 복사본을 만듭니다.
Microsoft.CSharp.v1.1.targets 파일 수정하기
아래의 노드를 찾아서 <NoWarn> 노드의 1701; 1702 값을 제거합니다. 이 값은 .NET Framework 1.1 의 경고 값으로 사용할 수 없는 값입니다.
그리고 아래의 CSC 노드를 찾아서 ErrorReport 속성을 제거합니다. .NET Framework 1.1 SDK 의 CSC.exe 는 ErrorReport 기능이 존재하지 않기 때문입니다.
추가로 CSC 노드의 ToolPath 의 경로를 아래와 같이 수정합니다. 이 경로에 포함되는 csc.exe 를 사용하여 .NET Framework 1.1 로 빌드하는 중요한 구문입니다.
아래의 Import 노드를 찾아서 복사본으로 만들었던 Microsoft.Common.v1.1.targets 파일명으로 변경합니다.
Microsoft.Common.v1.1.targets 파일 수정하기
아래의 노드를 찾아 붉은 영역의 노드를 추가합니다. 만약 TargetFrameworkVersion 노드를 .csproj 파일에 명시적으로 수정하게 되면, Visual Studio 2010 은 v2.0 이상 버전으로 변경을 해야 프로젝트 파일을 로드할 수 있기 때문에 Microsoft.Common.v1.1.targets 파일에서 변경해야 합니다.
아래의 ReportingServiceTargets 노드를 찾아 주석으로 처리하거나 삭제합니다.
아래의 _DebugSymbolsIntermediatePath 노드의 ItemGroup 을 주석으로 처리합니다. $(IntermediateOutputPath) 이미 기존의 Microsoft.CSharp.targets 에서 값이 선언되었으므로 같은 값이 추가되거나 할 경우 Collection Type 으로 간주하기 때문에 이 구문은 필요가 없습니다.
마찬가지로 아래의 구문도 $(IntermediateOutputPath) 는 Collection Type 으로 처리가 되는 것을 방지하기 위해 아래의 구문도 주석으로 처리하거나 제거합니다.
아래의 구문도 위와 같은 이유로 제거하거나 주석으로 처리합니다.
아래의 Code Analysis 기능은 Visual Studio 2003 에서 통합되어 제공되지 않기 때문에 제거하거나 삭제합니다.
Visual Studio 2010 에서 .NET Framework 1.1 빌드 하기
모든 구성이 완료 되었으면, Visual Studio 2010 에서 ConsoleApplication 을 실행해 봅니다. 빌드가 .NET Framework 1.1 로 빌드된 것을 확인할 수 있습니다.
네바로이렇게표시가되죠.^^ 그렇다면.. 바로위에있는 Enable loading of per user extensions를틀릭하면도구상자의옵션대화상자를열고그안에있는 Extension Manager 메뉴를호출합니다. 여기서 "Automatically check.." 하면자동으로자기가템플릿관련확장을체크하여업데이트를합니다.
이부분은 IE 에서많이보셨거나 Windows Desktop Search 를사용해보신분은아이거~ 하실겁니다.
바로 VS 프로젝트템플릿을찾아주는역활을합니다. 제가여기서 C 라고입력하면 C에관련된템플릿이표시됩니다.
cs를하면 C#관련내용일것입니다. 이것이중요한것은중간에파일을추가할때 class 파일을추가할때어떨가요? 해당프로젝트에서클래스하나추가할때에도도움이됩니다.(사실중간에강의하거나갑자기 class 파일하나만들때가끔어디있는지못찾을때가ㅠ.ㅠ)
네바로생각외로도움이될것입니다.(사실전정말도움이됩니다ㅋㅋㅋ)
오늘은 VS 에서새롭게프로젝트를생성하거나중간에프로젝트를추가또는 class 이나 cs 또는 aspx파일을같은것을추가하는대화상자를봤습니다. 사실여기서집고넘아가는것은개발자에게파일을찾기, 또는추가할때위치가어디있는지갑자기당황스럽거나또는기존에만들었던템플릿을다시만들고자할때쉽고빠르게만들수있도록도와준다는것입니다.
Visual Studio 2010 과 .NET Framework 4.0 트레이닝 키트를 다운로드 할 수 있습니다. 마이크로소프트는 Visual Studio 2010 CTP 버전부터 지속적으로 트레이닝 키트를 제공했습니다. 특히 고마운 것은 Visual Studio 2010 RTM 까지 이 트레이닝 킷의 업데이트를 소홀하지 않았다는 것입니다.
이 트레이닝 키트에는 PPT 파일, Hands-on Lab, 데모 소스 코드, 동영상이 포함이 되어있으며, 아래와 같은 범위의 내용이 포함이 되어있습니다.
Call Hierarchy 기능은 코드의 흐름을 파악하기 위한 유용한 기능입니다.
이제는 코드의 흐름을 파악하기 위해 이곳 저곳으로 찾아다니면서 분석할 필요가 없습니다.
Call Hierarchy 기능은 코드를 보지 않고도, 코드의 연관 관계를 추적할 수 있기 때문입니다.
특히 Interface Programming 에서 빠져서는 안될 유용한 기능 중에 하나입니다.
오늘부터 3일 동안 미국 라스베가스에서 MIX10 컨퍼런스가 열리는데 알려진대로 첫날 키노트에서 윈도우폰7 관련 정보가 공개되었습니다.
실버라이트 기반으로 어플리케이션 개발이 가능하고 게임은 XNA Game Studio 4.0으로 가능합니다. http://developer.windowsphone.com/windows-phone-7-series/ 에 가보시면 윈도우폰7 SDK를 포함한 다양한 정보에 접근이 가능합니다.
발표되자마자 빠르게 설치를 해보았는데 설치되는 요소는 다음과 같습니다.
기본적으로 윈도우폰 7 개발 관련 애드인과 기반이 되는 실버라이트 4와 SDK가 설치됩니다.
여기서 설치되는 실버라이트 4의 버전은 RC버전입니다.
그리고 XNA Game Studio 4.0과 윈도우폰 에뮬레이터 등이 설치되고 Visual Studio 2010 Express for Windows Phone도 함께 설치되는데 Visual Studio 2010 RC버전에서도 마찬가지로 개발 환경이 구성됩니다.
설치를 하고 Visual Studio 2010을 실행 해 보면 개발 환경에 윈도우폰과 XNA 4.0 템플릿이 추가된것을 볼 수 있습니다. 일반적인 어플리케이션을 개발 할 때는 실버라이트로 하면되고 게임은 XNA를 선택해서 개발하면 됩니다.
윈도우폰 어플리케이션을 선택하고 프로젝트를 생성하면 다음과 같은 작업창이 나타납니다.
기존의 익숙한 환경에 윈도우폰 UI의 모습과 실버라이트 기반이기 때문에 XAML 코드가 나타나는것을 알 수 있습니다. 개발 언어는 역시 C#으로 하면 되어서 기존의 지식을 살려서 따로 학습을 하지 않아도 바로 적용할 수 있습니다.
빌드를 하면 윈도우폰의 에뮬레이터가 실행되면서 윈도우폰의 경험을 그대로 살려 볼 수 있습니다.
윈도우 모바일의 에뮬레이터와는 다르게 아주 빠르게 실행되어 쾌적한 개발 환경을 제공합니다.
MIX10에서 발표가 되자마자 빠르게 설치하여 기본 개발 환경을 알아보았는데 앞으로 세세한 정보와 XNA에서의 개발환경도 알아보도록 하겠습니다. Microsoft의 윈도우폰 많이 기대해주세요 :)