Silverlightの開発環境

Visual Web Developer (Visual Studio) 2010 Express
に加えて、Silverlight Toolsを入れる。

現時点だと、Silverlight5が最新だが、事情により4を入れたい人もいると思う。
(何を隠そう、私自身がそうである)

上記IDEを立ち上げ、C#Silverlightアプリケーションを選ぶと、
自動的にソリューションが組まれ、SilverlightApplication1プロジェクトに加え、SilverlightApplication1.Webというプロジェクトが加わる。

このWebプロジェクトのClientBinフォルダに、xapができるので、あまりMicrosoft的お仕着せが好きじゃないひとは、xapだけ取り出して、あとは自分で、JavaScriptバリバリのページから利用するというやり方ももあるだろう。そういう人もいると思う。
(何を隠そう、私(以下同))

さてここで、新規プロジェクトをデザイナで開いたら、いきなり
「オブジェクト参照がオブジェクト インスタンスに設定されていません。」
と言われて困っている人もいるのではないだろうか。
そしてぐぐってみると、「Formの参照がnullなのだろう」とか、ありきたりの答えばかり。「コードを見直せ」というアドバイスにあきれ、
「新規プロジェクトが勝手にコケてるんだ!何を見直すんだボケ!」
と画面に向かって、筋違いな怒りをぶつける諸兄も居たり居なかったりするのではないだろうかさのよいよい。

(何を隠そう(以下同)

私の場合の解決法を書いてあげると、単なるSilverlightランタイムのバージョン違いである。
普通にSilverlight5で、ランタイム、Toolsを統一している素直なあなたには何の役にも立たない情報であるが、私のように、「どうしても4で開発したい」という人は、知らないうちにランタイムだけ5になってしまっている場合がある。インストール情報で、ご確認。

深呼吸して、Silverlight5をアンインストールする。Toolsや、VSや、作成したプロジェクトを作り直す必要はないです。そして、おもむろに、指さし確認しながらSilverlight4ランタイムをインストールするのだ。開発者版でもどっちでもいいだろう。そしてもう一度、祈る気持ちでVSを立ち上げると…おお、デザイナにGUI表示された。
これでSilverlight4の無償開発環境が完成した。

そして、念のため、Silverlight4ランタイムの設定画面で、自動更新をオフにしておいた方がいいでしょう。そうしないと、うっかりランタイムだけが5に更新されてしまい、また同じデザイナ画面のエラーに出くわし、MSに悪口雑言を吐くという、無駄な時間を過ごすことになります。

誰かの役に立てば幸いです。以上。