Silverlight Tools 3 では System.Web.Silverlight は別提供

今までASP.NETでSilverlightを利用する場合は、System.Web.Silverlight.dllに含まれる、asp:silverlight や mediaplayer なんかのサーバーコントロールを使ってSilverlightをWebFormに配置していたと思うんだけれど、Silverlight Tools(SDK) 3 からはこの System.Web.Silverlight は Silverlight Tools のリリースには含まれなくなったそうです。

Silverlight ToolsのインストールディレクトリにあるChanges.docxを見ると、通常のHTMLにSilverlightを組み込む場合と同じように、objectタグを直で書くようにしてねーと書いてあります。

Silverlight 3 Released! What is new/changed?(Silverlight 3、βからRTMでの変更点)を見るとコントロール側からJavascriptでがりがり描画するより、objectタグでかけた方がフレキシブルだよねとのこと。

これを知らずにはまりました。
通常はアップデートウィザードがうまくやってくれるっぽいんだけれど、Silverlight Tools 3のインストールがうまくいっていない場合(というか、別のバージョンの Toolsが入っている場合)Silverlightのプロジェクトを新規作成すると、今まで通りのasp:silverlightを使ったテンプレートでプロジェクトが作成されてしまい、System.Web.Silverlight.dllがないからASP.NETのRegisterタグで名前解決に失敗すると言う事態になりました。

これは古いバージョンのToolsやSDKなんかを削除して、Silverlight3を入れ直したらうまくいった、このあたりVisual Studio 2010ではうまくやってくるのかな?

本来であれば、Silverlight2からSilverlight3へプロジェクトをアップデートした場合。プロジェクトをアップデートする際にbinディレクトリのSystem.Web.Silverlight.dllは消さないからそのままで動くよーとは書いてあります。。。

今後このコントロールはリリースにはふくまれないので、Silverlight Tools(SDK) 2 の物を利用するか、CodePlexのASP.NET Server Controls for Silverlight - Samplesに含まれる物をダウンロードして利用することになりそうです。

この記事へのコメント

この記事へのトラックバック