6

以前はWP7.1プラットフォームをターゲットにしていたWindowsPhoneプロジェクトを引き継ぎましたが、最近の新しいプラットフォームの発表により、WP8もターゲットにする必要があります。

私のVS2010ソリューションは、いくつかのプロジェクト(データアクセス、モデル、テスト、およびWP7クライアントアプリ)で構成されており、WP8のサポートを含める方法を模索しています。

特にWP7.1を対象としたToolkitコントロールやその他のサードパーティライブラリを使用しているため、コードベースはWP8と互換性がないことに注意する必要があります。

また、VisualStudioのバージョンには別の問題があります。WP7.1はVS2010で動作しますが、WP8にはVS2012が必要です。コードベース全体をVS2012に移動する必要がありますか?

重複や面倒なメンテナンスを回避するために、コードベースを最も意味のある方法で整理する方法について、何か良いアドバイスはありますか?

私は、1つのソリューション(複数のプロジェクト複数のソリューション)の間で、再利用可能なプロジェクトのアプローチを考えています。コードの重複(2つの別々のフォルダー/ソリューションなど)は、可能な限り最小限のアプローチ(フォールバック)である必要があります。

4

1 に答える 1

3

最善の方法は、すべてのプロジェクトをVS2012にアップグレードして、両方のWPバージョンをサポートできるようにすることです(VS2012ソリューションであるにもかかわらず、VS2010でWP7プロジェクトを開くことができます。これは下位互換性があるためです。互換性)。

コードベースを整理する最良の方法に関しては、私の意見では、WP7とWP8の両方をサポートするポータブルライブラリを作成し、そこにすべての一般的なコードベースを取得する必要があります(おそらく主にビジネスロジック、このようなパターンを使用している場合は特に良いですMVVMとして)。コントロールの問題を忘れないでください。画面サイズが同じではなく、より多くの情報を入手して別のコントロールを使用できるため、WP8にはおそらくいくつかの異なるコントロールが必要です。それでも同じXAMLコードを使用する場合は、一方のプロジェクトに1つのファイルだけを置き、同じファイルを再利用するもう一方のプロジェクトに「リンクとして」追加します。

最後に、#ifディレクティブを使用して、条件付きコードのコンパイルを使用できます。また、おそらく使用する必要があります。

この情報がお役に立てば幸いです。コードサンプルが必要な場合は、そのように言ってください。何かを収集しようと思います。

于 2012-12-10T11:12:46.260 に答える