IT_Programming/WPF·WCF·Silverlight

[펌_SilverLight] Visual Studio 2005에서 Silverlight 1.1 프로젝트 생성

JJun ™ 2009. 10. 22. 17:36

--------------------------------------------------------------------------------------------------

출처: http://endlessprogramming.tistory.com/267

--------------------------------------------------------------------------------------------------

 

MS에서는 Silverlight 1.1 프로젝트 개발을 위해

Visual Studio 2008 용 Silverlight 1.1 Tools Alpha for Visual Studio 2008을 배포하고 있습니다.

하지만 Visual Studio 2005에서 개발을 하고 싶군요. 할 수 없는 걸까요?

있습니다. 아래 링크에서 방법을 찾을 수 있습니다.
http://blogs.sqlxml.org/bryantlikes/archive/2007/05/02/silverlight-hello-world-in-c-from-vs-2005.aspx

해당 문서를 한글로 옮기면 다음과 같습니다.

1. 클래스 라이브러리 프로젝트를 생성합니다.
2. 프로젝트 참조에서 모든 참조를 제거합니다.
3. 프로젝트 속성을 엽니다.
4. 빌드 탭에서 고급 다이얼로그를 엽니다. 'mscorlib.dll 참조하지 않음'을 선택합니다.
5. 프로젝트 참조에서 찾아보기를 선택합니다.
6. C:\Program Files\Microsoft Silverlight 폴더에 있는 mscorlib, agclr, System,

    System.Core, System.Silverlight, System.Xml.Core 어셈블리를 참조합니다.
7. 참조된 어셈블리의 로컬복사 속성을 'False'로 변경합니다.
8. Silverlight.js, Page.xaml.cs, Page.xaml, Default.html, Default.html.js 파일을 추가합니다.

    (해당 파일은 아래 첨부한 템플릿에 포함되어 있습니다.)


위의 절차대로 수행하여 Visual Studio 2005용 Silverlight 1.1 프로젝트 템플릿을 만들어서 첨부합니다.

 

Silverlight11ForVS2005.zip


템플릿을 다운로드 한 후 개발자 PC의 C:\Documents and Settings\사용자\\My Documents\Visual Studio 2005\Templates\ProjectTemplates에 복사해 넣으세요.

Visual Studio 2005를 실행 후 새 프로젝트 다이얼로그를 출력 후

다음 그림과 같이 내 템플릿 그룹에서Silverlight11ForVS2005 를 선택합니다.

 


솔루션 탐색기에서 Page.xaml 파일을 엽니다.

<Canvas> 태그의 x:Class 속성에 있는 Silverlight22 문자열을 프로젝트명(Silverlight11ForVS20051)

으로 변경합니다.

컴파일 후 프로젝트 폴더를 탐색기로 열어 TestPage.html을 브라우저로 엽니다.
Hello 란 문자열을 정상적으로 보입니다.

단, 주의 할 것이 있습니다.
Visual Studio 2008에서는 Page.xaml에 XAML 요소를 추가하면 obj 폴더의 Debug or Release 폴더에 있는Page.g.c 클래스 파일에 해당 XAML 요소가 선언되고 InitializeComponet()메서드에서 초기화하는 코드가

자동생성됩니다. 하지만 Visual Studio 2005에서는 자동으로 코드가 생성되지 않으므로 아래와 같이 Page.xaml.cs 파일에서 수동으로 해당 요소를 선언하고 초기화해주는 코드를 추가해야 합니다.

        TextBlock tb;

 

        public void Page_Loaded(object o, EventArgs e)

        {

            tb = this.FindName("helloBlock") as TextBlock;

            tb.Text = "Hello";

        }


이상으로 글을 마칩니다.

 

--------------------------------------------------------------------------------------------------

Silverlight11ForVS2005.zip
0.02MB