본문 바로가기

Silverlight

실버라이트 베타 2 에서 실버라이트 RC0 마이그레이션 방법

우선 이번 Beta2 에서 RC0 로 바뀐 릴리즈에 대해서 말씀드리면요.


1. 실버라이트 RC0 의 의의
===================================================

기존 실버라이트 Beta2 애플리케이션을 RC0 로 미리 바꿀 수 있도록 도와주는 것이

가장 큰 이유이고요

실버라이트 정식버전에서 강화되거나 새롭게 만들어진 부분은

이번 RC0 릴리즈에는 포함되어 있지 않다고 합니다.

(즉 기존 실버라이트 애플리케이션을 정식버전이 갑자기 나온다고 해도

무리없이 돌아가도록 미리 고칠 수 있도록 한다는것에 큰 의의가 있습니다.)


2. 기존 베타2 애플리케이션을 고치지 않는다면?
=======================================================================================

기존 베타2 애플리케이션은 실버라이트 2 최종버전에서 동작하지 않는다고 합니다.

또한 사용자에게 구버전으로 만든 애플리케이션이라는 메세지가 나온다고 하니

미리미리 고쳐놓는게 좋겠습니다.


3. 개발환경 설정
===============================
기존 실버라이트 베타2 와 관련된 모든 툴을 제거해야한다고 합니다.

블랜드나 익스프레션 제품군까지 제거해야 하는지는 모르겠으나

최소한 Silverlight Tools 와 Silverlight Runtime 은

업그레이드가 아니라

삭제하고 재설치해야 합니다.



4. 자동마이그레이션 지원
===============================================
기본적으로 Beta2 프로젝트를 열면

Beta1 에서 Beta2 로 넘어갈때처럼

자동적으로 마이그레이션을 지원해준다합니다.

문제생기는 부분은 알아서 고치셔야 합니다.



5. 실버라이트가 포함된 HTML 페이지의 수정
================================================================================

기존 실버라이트 애플리케이션의 마임타입을

application/x-silverlight-2-b2 로 설정하여 사용하였으나

이제부터는 application/x-silverlight-2 로 고치셔야 합니다.

즉 자동마이그레이션을 한다고해도 프로젝트에 포함된 HTML 페이지는

자동으로 고쳐지지 않습니다.

또한 실버라이트의 설치 경로를 http://go.microsoft.com/fwlink/?LinkID=115261 에서

http://go.microsoft.com/fwlink/?LinkID=124807 로 고치셔야 합니다.

현재 해당 사이트는 일반인에게 런타임을 제공하고 있지 않습니다.



즉 기존에 html 페이지상에는 다음과 같이 실버라이트를 실행합니다.

<div id="silverlightControlHost">
  <object data="data:application/x-silverlight," type="application/x-silverlight-2-b2" width="100%" height="100%">
   <param name="source" value="ClientBin/SilverlightApplication3.xap"/>
   <param name="onerror" value="onSilverlightError" />
   <param name="background" value="white" />
   
   <a href="http://go.microsoft.com/fwlink/?LinkID=115261" style="text-decoration: none;">
        <img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style: none"/>
   </a>
  </object>
  <iframe style='visibility:hidden;height:0;width:0;border:0px'></iframe>
</div>

이것을 다음과 같이 고쳐야 한다는 뜻입니다.

    <div id="silverlightControlHost">
  <object data="data:application/x-silverlight," type="application/x-silverlight-2" width="100%" height="100%">
   <param name="source" value="ClientBin/SilverlightApplication3.xap"/>
   <param name="onerror" value="onSilverlightError" />
   <param name="background" value="white" />
   
   <a href="http://go.microsoft.com/fwlink/?LinkID=124807" style="text-decoration: none;">
        <img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style: none"/>
   </a>
  </object>
  <iframe style='visibility:hidden;height:0;width:0;border:0px'></iframe>
    </div>

[출처] 이과장의 프로그래밍이야기