ページ

2011年9月9日金曜日

[WP7] Silverlight for Windows Phone Toolkit August 2011 のサンプルをビルドする

デブサミ関西のセッションでも 「Silverlight for Windows Phone Toolkit はとっても便利」 という話をしたんですが、サンプルを見てみようとするとうまく動かなかったりするので、書いときます。(将来のリリースでは修正されるといいなぁ)

まずは Silverlight for Windows Phone Toolkit August 2011 のソース & サンプルをダウンロード。
http://silverlight.codeplex.com/releases/view/71550
ここの 「Silverlight for Windows Phone Toolkit Source & Sample - Aug 2011.zip」 ってやつです。

ダウンロードして Windows Phone SDK 7.1 が入った環境で PhoneToolkit.sln を読み込んでビルドすれば OK、、、だといいんですが、エラーや警告がでます。

まず、「Xap パッケージ化に失敗しました。オブジェクト参照がオブジェクト インスタンスに設定されていません。」 というエラーが発生する件。
これは、PhoneToolkitSample プロジェクトの Image フォルダにある画像ファイルのファイル名が文字化けしているのが原因です。
私の環境だと København.jpg と Mürren.jpg が文字化けしてました。
ファイル名をリネームしてやるなりして、ちゃんと参照できるようにしてあげてください。

それから、「Silverlight for Windows Phone Toolkit - Aug 2011.msi」 の方でセットアップした Microsoft.Phone.Controls.Toolkit.dll には PhoneTextBox が入っていないようです。なのでこの dll を参照した状態では PhoneToolkitSample をビルドすることはできません。
もし PhoneTextBox 関連のエラーが出るようなら PhoneToolkitSample の 参照設定でいったん Microsoft.Phone.Controls.Toolkit への参照を削除し、参照の追加で 「Microsoft.Phone.Control.Toolkit プロジェクト」 への参照を追加しなおしてください。dll への参照ではなくて、プロジェクトへの参照です。「Silverlight for Windows Phone Toolkit Source & Sample - Aug 2011.zip」 に入っているソースコード版の Toolkit には PhoneTextBox がちゃんとあるのでこれでビルドできるようになります。

あと、「プロジェクト 'Microsoft.Phone.Controls.Toolkit' を参照できません。参照されるプロジェクトは、異なるフレームワーク ファミリー (Silverlight) を対象としています。」 という警告が出ます。これを消すには Microsoft.Phone.Controls.Toolkit.Design プロジェクトと Microsoft.Phone.Controls.Toolkit.VisualStudio.Design プロジェクトの参照設定にある Microsoft.Phone.Controls.Toolkit への参照を一度削除し、Microsoft.Phone.Controls.Toolkit プロジェクトをビルドした結果できあがる Microsoft.Phone.Controls.Toolkit.dll (Bin フォルダの下にあります)への参照を追加してやれば OK です。(こっちはプロジェクトの参照ではダメで、dll への参照にしてやる必要があります)

これでサンプルを動かすことが出来るんじゃないかと思います。
(他にも警告が出ていますが、それらは無視しても大丈夫そう)

1 件のコメント:

  1. 参考になりました。
    ダウンロードしたのはNov 2011 (7.1 SDK)のサンプルですが、Mなんたらのjpgを正しいファイル名にしたら警告は出たけどビルドできました。

    返信削除