Silverlight/Tips

Silverlight 4 Business Application Beta에서 RC로 마이그레이션 하는 방법

길버트리 2010. 3. 23. 23:32

보통은 Beta 프로덕트로 프로젝트를 진행하는 것은 금기시 됩니다.
하지만 어떡합니까? 마음은 급하고 가끔 진행 할 수도 있지요. ^^;;

Silverlight 4 Beta에서 작업한 Business Application 솔루션을 Silverlight 4 RC에서 열면,
변환없이 잘 열립니다. 다만 컴파일 에러가 여럿 발생합니다.
그럴 땐 당황하지 마시고 아래와 같이 조치하시면 소중한 솔루션을 살려내실 수 있습니다.

제일 먼저 하실 것은 Clean입니다. 기존에 컴파일 되면서 Bin폴더 등에 Copy 되어있던 예전 어셈블리의
잔재를 제거하는 것이지요. 그런데 Clean Project가 잘 작동 안할 겁니다.
로컬 디렉토리를 찾아다니시면서 지우시는게 확실합니다.

웹(*.Web) 프로젝트에서


1. 프로젝트의 참조(References) 트리노드에서 아래 어셈블리를 제거합니다.

  • System.Web.Ria
  • System.Web.DomainServices
  • System.Web.DomainServices.EntityFramework
  • System.Web.DomainServices.LinqToSql

2. 프로젝트에 오른쪽 클릭 후 [참조 추가(Add Reference)]를 통해서 아래 어셈블리를 추가합니다.
    참조 추가 대화상자에서 .NET 탭에서 선택 가능합니다.

  • System.ServiceModel
  • System.ServiceModel.DomainServices.Hosting
  • System.ServiceModel.DomainServices.Server

실버라이트 프로젝트에서

1. 프로젝트에 오른쪽 클릭 후 [참조 추가(Add Reference)]를 통해서 아래 어셈블리를 추가합니다.
    참조 추가 대화상자에서 .NET 탭에서 선택 가능합니다.

  • System.ServiceModel
  • System.ServiceModel.DomainServices.Client
  • System.ServiceModel.DomainServices.Client.Web

2. LoginStatus.xaml.cs과 App.xaml.cs 파일 등에서 

    using System.Windows.Ria.ApplicationServices;   
    위 코드를 아래 코드로 바꿉니다.

    using System.ServiceModel.DomainServices.Client.ApplicationServices;

3. App.xaml 파일에서

    xmlns:appsvc="clr-namespace:System.Windows.Ria.ApplicationServices;assembly=System.Windows.Ria"  
    위 코드를 아래 코드로 바꿉니다.

    xmlns:appsvc="clr-namespace:System.ServiceModel.DomainServices.Client.ApplicationServices;assembly=System.ServiceModel.DomainServices.Client.Web" 

4. LoginInfo.cs 파일에서

public System.Windows.Ria.ApplicationServices.LoginParameters ToLoginParameters()
{
    return new System.Windows.Ria.ApplicationServices.LoginParameters(this.UserName, this.Password, this.RememberMe, null);
}
위 코드를 아래 코드로 바꿉니다.

public System.ServiceModel.DomainServices.Client.ApplicationServices.LoginParameters ToLoginParameters()
{
    return new System.ServiceModel.DomainServices.Client.ApplicationServices.LoginParameters(this.UserName, this.Password, this.RememberMe, null);
}

이렇게 했는데도 에러가 난다 하시는 것은.
다음 문서를 참고하세요.

http://code.msdn.microsoft.com/RiaServices/Release/ProjectReleases.aspx?ReleaseId=3570