Bescottee苦しいときは伸びてるとき、楽なときは伸びていないとき

2 [WP7] System.Windows.Interactivity.dll のエラー対処方法

admin to WindowsPhone  

WindowsPhone7.1 SDK を利用したWindowsPhone7.5端末向けアプリ開発ではまった点があったので、メモしておきます。

Blend 4 でMouseDragElementBehavior をビヘイビアとして、Image に追加したあとに、Blend 上からビルドしようとすると以下のようなエラーが発生して、ビルドできませんでした。

Errors:

Error 1 The property ‘Behaviors’ does not exist on the type ‘Border’ in the XML namespace ‘clr-namespace:System.Windows.Interactivity; assembly=System.Windows.Interactivity’. C:\……\MyDocuments\Silverlight_Quickstarts\MouseDrag\MainPage.xaml 10 14 MouseDrag

Error 2 The tag ‘MouseDragElementBehavior’ does not exist in XML namespace ‘clr-namespace:Microsoft.Expression.Interactivity.Layout; assembly=Microsoft.Expression.Interactions’. C:\…….\MyDocuments\Silverlight_Quickstarts\MouseDrag\MainPage.xaml 11 18 Mou

ネット上を調べていると、同様のエラーではまっている人が多数いました。

特に以下の2つが解決に役に立ちました。

http://stackoverflow.com/questions/5755270/where-do-i-find-system-windows-interactivity-as-redistributable
http://social.expression.microsoft.com/Forums/en-US/blend/thread/252007b8-1466-4c73-9680-3c19a08d50fc

結論からいうと
・.NET 3.5 のライブラリが必要
ということでした。

というわけで、
http://www.microsoft.com/ja-jp/download/details.aspx?id=14422
ここから
MSChart.exe
をダウンロードして、インストールすると、Blend 3がインストールされます。

と書いていて、ほんとにこれで Blend 3がインストールされるのか?という疑問が出てきました。
既に私の環境ではいまビルドが通る環境になってしまっているので、確かめようがありませんが
思い出して書いていると、これがBlend 3のインストールに関連しているようにみえます。

Blend 3がインストールされると、以下のフォルダ(Windows 7環境の場合)に System.Windows.Interactivity.dll がインストールされるので
これを、いまのプロジェクトのSystem.Windows.Interactivity.dll と置き換えれば、上記のエラーが発生せずにビルドできるようになります。

C:\Program Files (x86)\Microsoft SDKs\Expression\Blend 3\Interactivity\Libraries\WPF

再現性のないメモですが誰かに役に立っていれば幸いです。

コメントをどうぞ