BT

Silverlight 4は、.NETとアセンブリを共有する

| 作者: Jonathan Allen フォローする 611 人のフォロワー , 翻訳者 尾崎 義尚 フォローする 0 人のフォロワー 投稿日 2009年12月8日. 推定読書時間: 1 分 |

原文(投稿日:2009/12/03)へのリンク

Silverlight 2と3に組み込まれていたアセンブリは、.NET Frameworkとのバイナリ互換がなかった。もし、同じコードを使用したい場合、2回のコンパイルが必要だった。Silverlight 4と.NET 4では、.NET 4に含まれているアセンブリは、Silverlightでも使用することができるようになった。

Silverlightアセンブリを.NETで読み込むためには、以下のアセンブリだけを参照するようにするとよいだろう。

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

System.XmlやSystem.Netなどのその他のアセンブリ、またいかなるUIライブラリも、現在サポートされていない。これは、共有データオブジェクトを受けることは可能だが、サービスの呼び出しや自身のXMLシリアライゼーションをハンドルするアクティブレコードは、議論の余地がないことを意味する。

Silverlightが.NETアセンブリのロードをサポートしないことを明示していることに注意するべきである。SilverlightのUI以外のパーツは、.NETのサブセットである。彼らは、こうした方が、存在しないクラスやメソッドに対処するよりも、エラーが少ないと考えたようだ。

もし、Silverlightと.NET間の非互換性に関するレポートやアセンブリのポータビリティについて詳しく学びたいのであれば、CLR Team blogを参照してほしい。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

Re: Silverlight 2と3に組み込まれていたアセンブリは、.NET Frameworkとのバイナリ互換がなかった by 康彦 山本

> Silverlight 2と3に組み込まれていたアセンブリは、.NET Frameworkとのバイナリ互換がなかった。
> 同じコードを使用したい場合、2回のコンパイルが必要だった。

私も、 そう思っていました。

しかし、 原文のコメント "Silverlight 2 and 3 assemblies ARE binary compatible" のリンク先によれば、 テスト プロジェクトから Silverlight のプロジェクトに参照を掛けて使うことは出来る、 とのこと。
実際に VS2008SP1 + Silverlight 3 Tools + KB962866 で試してみたら、 その通りでした。

また、 VS2010 beta2 日本語版でも、(不具合は VS2008 より多いものの) 同様に出来ました。
www.tdd-net.jp/2009/12/vs2010b2j-mstes.html

どうやら私は、 「バイナリ互換が無い」 という言葉を誤解していたようです。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

1 ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT