読者です 読者をやめる 読者になる 読者になる

しばやん雑記

ASP.NET とメイドさんが大好きなフリーランスのプログラマーのブログ

Silverlight 4 と .NET Framework 4 間で共有可能なライブラリを作る方法

C#

毎回、どのアセンブリを参照しておけばいいのか忘れてしまうので強くメモしておきます。

Sharing Silverlight Assemblies with .NET Apps - .NET Blog - Site Home - MSDN Blogs

実際に利用可能なアセンブリは以下になります。

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

基本的なクラス + LINQ + MEF が使えるといったとこですが、モデルを Silverlight 4 と .NET Framework 4 間で共有できるように開発しておくと、移植が必要になった場合などにビューの対応だけで済ますことが出来るので非常に楽です。

実際に Silverlight 4 向けに書いたコードを .NET Framework 4 へ移植したことがありますが、XAML の調整程度で済ますことが出来ました。

Windows Phone 7 Series Programming Model - I know the answer (it's 42) - Site Home - MSDN Blogs

Windows Phone 7 には Silverlight 3 相当のアセンブリが追加されていますが、ランタイム自体は .NET Compact Framework 3.5 に相当するものなので、MEF を使っていない場合は同様に共有が出来ると思われます。ちなみに WP7 への移植も行いましたが、これもまた XAML の調整程度で済みました。

WPF と Silverlight は M-V-VM パターンが存在するので、M と VM の一部までは共有させることが出来るんじゃないかなと思います。