0

Azure Web ロール ASP プロジェクトでホストされている Silverlight アプリがあります。ASP プロジェクトは、WCF サービスを公開します。

データ型のクラス定義の 1 つのセットが必要です。誰かが 3 番目のプロジェクト (クラス ライブラリ) を作成し、SL と ASP からの参照を追加することを勧めました。私はこれを始めましたが、Silverlight プロジェクトは、Silverlight プロジェクトへの参照しか追加できないと不満を漏らしました。

次に、Silverlight クラス ライブラリを作成し、データ クラスをそこに移動しました。ただし、Windows Azure ストレージ クライアントなどへの .dll 参照を追加する必要があります。次に、Silverlight クラス ライブラリは、Silverlight 4 対応の .dll への参照しか追加できないことを教えてくれますが、Windows Azure はその 1 つではありません。素晴らしい。

これを回避するためにできることはありますか、それともあまり洗練されていない冗長なソリューションで立ち往生していますか?

4

2 に答える 2

1

マルチターゲティングが最善の策です。Microsoft の Visual Studio でこれを説明する記事があります: http://msdn.microsoft.com/en-us/library/ff921092(PandP.20).aspx

基本的に、Silverlight と標準の .NET クラス ライブラリの両方を作成し、それぞれに異なる名前を付けてから、同じファイルをそれぞれに含めます。通常、ファイルは実際にはクラス ライブラリの 1 つにのみ存在し、2 つ目のライブラリにソフト リンクされます。

重要なのは、ファイル内のコードが両方のランタイムと互換性があることを確認することです。ランタイムに応じてメソッドの一部を個別に実装する必要がある場合は、これらをプラグマ (つまり #ifdef SILVERLIGHT...) で分離する必要があります。

ただし、データ構造のみを処理している場合は、使用しているオブジェクトが Silverlight でサポートされている限り問題はありません。

于 2010-10-11T06:47:20.133 に答える
0

この回答に従ってリンクされたファイルを使用すると、うまくいくかどうかを確認してください。

于 2010-10-11T03:09:40.593 に答える