2

Windows PhoneアプリをMetroに移植するためのコンテンツはかなりあるようですが、最初から始めて、両方のプラットフォームで実行されるアプリを作成したい場合はどうでしょうか。

私が理解しているように、Windows Phone開発者はWin7でVS2010を使用しますが、Metro開発者はWin8でVS2012RCを必要とします。両方に同時に取り組む方法はありますか?Windows Phone SDKは、Windows 8のVS2012で正常に動作しますか?

1つのソリューションで、両方のアプリのプロジェクト(および共有コードの個別のプロジェクト-ポータブルクラスライブラリに)を含めることは可能ですか?

4

2 に答える 2

2

私はこれを自分で行う環境を持っていないので、これはせいぜいインターネット調査に基づく部分的な回答と、関連する可能性のある私自身の経験です。

この情報源やその他の情報源によると、VS2012 RC は、引き続き VS2010 を必要とする現在の Windows Phone SDK では使用できません。これに対する例外は、(あなたが述べたように) Portable Class Librariesで、Windows Phone 7+ と互換性のあるライブラリを作成できるようです。ただし、これらを実際の WP7 アプリで使用するには、VS2010 の適切な WP プロジェクトでそれらを参照する必要があります。したがって、PCL がニーズに十分ではなく、共有コードを使用した実際のターゲット固有のプロジェクトが必要な場合、VS2012 だけでは選択肢になりません。

しかし、この話には他にも興味深い部分があり、役に立つかもしれません。

1 つ目は、ソリューションとプロジェクトの下位互換性が VS2012 に追加されたことです。VS ソリューションには、使用している VS のバージョンでロードできない場合でも、プロジェクトを含めることができます。つまり、VS2012 Metro プロジェクトと VS2010 WP7 プロジェクトを同時に含むソリューションを構築できる可能性があります。どちらの場合も、使用しているツールのバージョンによっては、プロジェクトの読み込みに失敗するでしょう (私は推測します)。

これが依然として価値がある理由は、ポータブル クラス ライブラリでなくても、通常は互換性のないプロジェクト タイプに同じコードベースがコンパイルされるようなコードを共有するプロジェクトを作成できるからです。

その仕組みは、プロジェクトとは独立して、または特定の種類のプロジェクトをベースラインとして使用してコード ファイルを作成し、そのコード ファイルを他のプロジェクトにリンクして、. この場合、どちらのバージョンでもこれらのプロジェクトを開くことができるため、VS2010 WPF または Silverlight 5 プロジェクトが必要になるでしょう。次に、これと一緒に Metro および WP7 プロジェクトを作成します (最初はコードなしで)。次に、ソリューション エクスプローラーの [既存項目の追加] ダイアログを使用して、ベースライン プロジェクトからファイルを選択します (ただし、まだ [追加] をクリックしないでください)。[追加] ボタンの横にある下矢印をクリックすると、目的の [リンクとして追加] オプションが表示されます。

両方のプロジェクトでこのプロセスを繰り返すと、一方のバージョンで開発したコードまたはアセットを他方のバージョンに渡すことができます。さらに、ベースライン ファイルを変更またはデバッグする必要がある場合は、VS のどちらのバージョンでも実行できます。これは、ベースライン プロジェクトがどちらでも同じように機能するためです。

この話の最後の部分は、条件付きコンパイル シンボルと #if プリプロセッサ ディレクティブを使用して、ターゲットに応じて分岐する必要がある共有コードをさらに微調整できることです。ただし、すべての人の正気を保つために、これは慎重に使用する必要があります。

私は実際に VS2010 でこのように WP7、Silverlight、および他のプロジェクト間でコードを共有しており、必要に応じて非常にうまく機能します。

そのため、Metro アプリと WP アプリをコンパイルしてデプロイするには、IDE を切り替える必要がありますが、理論的には、VS を現在の形でも絞り出すことができるかなりの相乗効果があると思います。

本日の新情報

本日、サンフランシスコで開催された Windows Phone Summit で、Microsoft は Visual Studio 2012 で Windows 8 と Windows Phone 7.5/8 を対象としたアプリを作成できるようになると発表しました。これにより、上記の情報が変更され、明白で簡単な解決策が提供されるようです。したがって、これはまだありませんが、将来的には注意してください。

于 2012-06-09T03:45:54.290 に答える
0

少なくとも 1 つのオープン ソース プロジェクトで使用されているような 1 つのアプローチは、リンクされたソース ファイルを使用して、共有できるものを共有し、変更が必要なものを分岐することです。これは単純なアプローチのように思え、すべてのプラットフォームでメンテナンスが可能になります。

于 2012-06-09T10:16:25.177 に答える