ページ

2009年12月7日月曜日

[Silverlight][.NET] Silverlight 4 と .NET Framework 4 の互換性

PDC の Scott Guthrie 氏のキーノートスピーチでも 「Silverlight 4 と .NET Framework 4 のアセンブリには互換性がある」 と言ったことがちらっと触れられてましたが、それの詳細が CLR Team Blog にありました。

Sharing Silverlight Assemblies with .NET Apps
Silverlight 4 用にコンパイルしたアセンブリと .NET Framework 4 用にコンパイルしたアセンブリには互換性があるようになっているそうです。
ただ、そうは言っても、たとえば .NET Framework 4 にしかないクラスを呼び出しているアセンブリを Silverlight 4 で動かすことは当然ながらできません。(もちろんその反対も)
この点については、Silverlight 4 の

  • Mscorlib
  • System
  • System.Core
  • System.ComponentModel.Composition
  • Microsoft.VisualBasic

のクラスを使っている限りは .NET Framework 4 でも問題なく動くようです。
.NET Framework 4 の方が機能が多いため、.NET Framework 4 のこれらのアセンブリのみを使用しているアセンブリが Silverlight 4 で動かせるとは限らないようですので注意。
なので、Silverlight 4 と .NET Framework 4 の両方で使えるようにしたい場合は Silverlight 4 のプロジェクトとして作った方がいいようです。

これと関連して、
Silverlight 3 & 4 Library Sharing with .NET 4.0 Library or WPF
これを見ると、どうやら Silverlight 4、.NET Framework 4 からは Silverlight 3 のアセンブリも参照できるみたい。

ただ、
On Silverlight 4 Beta / Silverlight 3 backward compatibility
によると、

  • Silverlight 4 ランタイム上で Silverlight 3 アプリが動くときは Quirks Mode になって Silverlight 3 互換になる。
  • Silverlight 4 アプリの中に Silverlight 3 アセンブリが含まれている場合は Quirks Mode にはならない。

ということになるそうです。(まぁ、そりゃ当然という感じですが)


0 件のコメント:

コメントを投稿