2009-10-02 19 views
6

Webプロジェクト内のSystem.WindowsでVectorクラスを使用する必要があるSilverlightアプリケーションがあります。しかし、VSはSystem.Windowsが存在しないと不平を言っています。私は参照を追加しようとしましたが、追加する名前空間のリストにありません。 [.NET]タブでは、System.Web.ServicesからSystem.Windows.Formsに移動し、System.Windowsをスキップします。ありませんSystem.Windows参照

何が本当に奇妙なのは、System.Windows DOESがSilverlightプロジェクトの参照リストに存在することです。さらに、私はこのマシンに別のSilverlightアプリケーションを持っています(2つのプロジェクト、1つのSilverlight、1つのWeb)、参照はそこにあります。

私は他の誰かが同様の問題を抱えているのを見ましたが、解決策のどれも私のために働いていませんでした。他の誰かがこれを経験しましたか?

答えて

7

見つけました。 WindowsBaseへの参照を追加する必要があります。

Silverlightアプリケーションを設定する通常の方法は、Silverlightクライアントコード用とサーバー側のaspxページ用の2​​つのプロジェクトを作成することです。 SilverlightリファレンスプールにはSystem.Windowsがあります。 aspx参照プールはありません。それは代わりに、 "WindowsBase" dllです。これは、System.Windows名前空間(とおそらく他のもの)をあなたの "using"ブロックで利用できるようにします。しかし、デフォルトではプロジェクトには含まれていません。

+0

これは私の仕事ではありませんでした。私はSystem.Windows.Media.Imaging.BitmapImageを使用しようとしているので、WindowsBaseにはないと思います。 (注:(sliverlight)クライアント側でSystem.Windows.DLLへの参照を追加できますが、サーバー側では追加できません。 – tkerwood

+1

にあります(#regionアセンブリSystem.Windows.dll、v2.0.50727 // System.Windows.dll #endregion) Silverlightクライアント側でのみ使用できるので、System.Drawingを使用して見ていきます。代わりに画像。 – tkerwood

+0

Silverlight 5ではこれはうまくいかないようです... – Knasterbax

0

Klayによって投稿されたソリューションがSilverlight 5で動作しないようです(少なくとも私のマシンでは動作しません)。

別の方法としては、Microsoft.Xna.Framework

から ベクトル2クラスを使用することができます。しかしVNAベクトル2の代わりにフロートを使用していますので、これは、System.Windows.Vectorに基づいてコードを少し書き換えが必要ですダブルスの

関連する問題