2

Windows ベースのタブレット PC 用のアプリケーションを開発しています。このアプリケーションは、.NET CF を使用して Windows Mobile デバイス上で既に開発したアプリケーションのほとんどを移植したものです。ソフトウェア開発で得たすべての知識を活用して、アプリケーションをゼロから作成したいと考えています。

また、必要に応じて既存の Windows Mobile アプリを変更して新しいライブラリを使用できるように、この新しいアプリケーションを作成したいと考えています。理想的には、ビジネス ロジックとデータ アクセス ライブラリの共有セットを用意します。実質的な違いは、UI レイヤー (タブレット バージョンの WPF と、Windows Mobile アプリの標準 CF インターフェイスのみ) だけです。

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

また、.NET CF アプリケーション用に作成されたこれらのライブラリを、標準の Windows アプリケーションから簡単に参照できますか?

タブレット PC 用のアプリケーションの開発は、通常の Windows フォーム アプリケーションの開発と同じですか? 考慮する必要がある .NET Framework の別のバージョンはありますか、それともタブレットはほぼ標準の Windows PC ですか?

4

2 に答える 2

4

Tablet PC 用の特別なバージョンの .NET Framework はありません。Windows Mobile と Windows の間でコードを共有することについての質問は以前にもありましたが、受け入れられた回答は素晴らしいものです。

于 2009-05-20T07:36:38.150 に答える
1

私が見たタブレットは、「完全な」.NET で標準の Windows を実行していますが、軽量のデバイスも入手できると思います。興味深い可能性の 1 つは、"クライアント プロファイル" (通常の "完全な" .NET dll のサブセット) かもしれませんが、私自身はそれをあまり使用していません。

CF と通常の .NET には多くの共通点がありますが、最終的には違いがあります。どちらも他方の厳密なサブセットではありません。一般に、2 つのフレームワークのコードを記述する唯一の方法は、両方をアクティブにしておくことであることがわかりました... protobuf-net (これにはこの問題があります) の場合、各フレームワークのプロジェクト ファイルを保持して、 build はどこでも機能します (つまり、抜けているメソッドなどはありません)。

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

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

これで、両方のプロジェクトに新しいファイルを追加し続ける必要がなくなりました。ファイルは自動的に取得されます (注意: IDE では、プロジェクトのアンロード/リロードが必要になる場合があります)。

于 2009-05-20T07:24:25.490 に答える