質問

私は、WindowsベースのタブレットPC用のアプリケーションを開発しています。このアプリケーションはかなり私はすでに.NET CFを使用して、Windows Mobileデバイス上で開発されたアプリケーションのポートです私はソフトウェア開発で培ってきた知識のすべてを活用して、最初からアプリケーションを書きたい。

私もそう望むならば、私は新しいライブラリを使用するために私の既存のWindows Mobileアプリを変更することができるように、この新しいアプリケーションを作成したいと思います。理想的には、私が唯一の本当の違いは、UI層であると、ビジネスロジックとデータアクセスライブラリの共有セットを持っています - 。タブレットのバージョンのWPFを、およびWindows Mobileアプリのためだけの標準的なCFインターフェース

このことを考慮して、私は私が作成したプロジェクトのすべては、.NET Compact Frameworkのと互換性があることを確認する必要があります。これを確実にする簡単な方法はありますか?私が持っていた一つの考えは、私が作成した各クラスライブラリのためのスマートデバイスプロジェクトを使用することでした。

これに限らず、それは簡単です、私は標準的なWindowsアプリケーションからの.NET CFのアプリケーションのために書かれたこれらのライブラリを参照するようにするために?

は、任意の通常のWindowsフォームアプリケーションの開発と同じタブレットPC用のアプリケーションを開発していますか?考慮すべきの.NET Frameworkの異なるバージョンがある、または錠剤はかなり標準的なWindowsパソコンですか?

役に立ちましたか?

解決

タブレットPC用の.NET Frameworkの特別なバージョンがありません。 Windows MobileとWindowsの間でコードを共有することの問題は、前のを頼まれましたと受け入れ答えは優れてます。

他のヒント

私が見た錠剤は、「完全な」.NETで標準のWindowsを実行しているが、私はあなたも、いくつかの軽量デバイスを得ることができます期待しています。一つの興味深い可能性は、「クライアント・プロファイル」(通常の「フル」.NETのDLLのサブセット)であるかもしれない - しかし、私は自分自身をその多くの使用を見ていない。

CFと定期的な.NETは、多くのことを共有しますが、最終的には違いがあります。どちらも他の厳密なサブセットではありません。私はすぐにことをテストできるように、私は、各フレームワークのプロジェクトファイルを保つ一般的に2つのフレームワークのコードを記述するための唯一の方法は、(この問題を持っている)いるProtobuf-netのために...アクティブ両方維持することであることを、私を見つけました(つまり、ミッシング方法などは存在しない)どこでも作品を構築します。

あなたは、あなたが(CF版には存在しない)パフォーマンス上の理由から、「完全な」.NETの機能を使用したい場合は特に、2つのフレームワークの上にわずかに異なるコードを実行するために#ifブロックを使用する必要があります。これは簡単にそれが再帰的なファイルのインクルードを使用するprojのファイルをハックすることの一つの方法:

<Compile Include="**\*.cs" />

これは、両方のプロジェクトに新しいファイルを追加し続ける必要はありません - それは(警告:IDEでプロジェクトを再ロード/アンロードする必要があるかもしれません)に自動的に拾わ取得します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top