8

WindowsRTデバイスと完全なWindows8OSで動作する必要があるC#とXAMLを使用してMetroスタイルのアプリケーションを開発する必要があります。したがって、.netフレームワークアセンブリなしでWinRTのみを使用できます。この質問を読みました

Microsoft Surface Tablet:両方のデバイス用のアプリを作成しますか?

そしてこの非常に便利な投稿: http: //blogs.msdn.com/b/jasonz/archive/2012/06/12/what-you-need-to-know-about-developing-for-windows-on-arm- woa.aspxですが、質問があります。空白のメトロスタイルアプリケーションプロジェクトを作成する場合でも、メトロスタイル用の.NETアセンブリがあります。自分で削除したのですか、それとも何か間違ったことをしたのですか?そして、WinRTまたはmvvvmlightに移植されたPrismfwのようなものを使用する必要がある場合はどうすればよいですか?ネイティブWinRTでのみWOAのアプリケーションを開発できますか?これらの瞬間は私にははっきりしていません。

WindowsRTとARM上のWindowsの違いを説明してくださいWindowsRTOS用に開発するためにWinRT(.netなし)のみを使用する必要がありますか?

あなたが私を助けてくれることを願っています。

4

3 に答える 3

15

私ができる最も直接的な方法であなたに答えさせてください。空白のXAML/C#Windowsストアプロジェクトを開いた場合。そのプロジェクトは、Windows RT(ARM)およびWindows 8(x86 / x64)で実行されます。これを達成するために構築されているためです。.Net Frameworkのような感覚があるからといって、心配する必要はありません。クロスプラットフォームのアプリケーションを作成しているのです。

さて、警告のために。C#のおかげで、この答えは簡単になりました。CPP開発者は、この互換性を破るために実行できるコーディングが存在するため、同じ保証はありません。C#ではそうではありません。あなたが書いたコードが「AnyCPU」にコンパイルされるなら、私が言っていることは正しいです。

ビルドを「任意のCPU」から別のものに変更する必要があるもの(Bing Mapsコントロールなど)を導入した場合。Windowsストアでは、同じ名前で3つのバージョンのアプリ(プラットフォームごとに1つ)を送信できます。ユーザーは、複数のバージョンがあることを知ることはありません。

その最後の例では、まだすべてのプラットフォームをサポートしています。それを実現するには、3つの異なるビルドを指定する必要があります。コードはまったく変更されない可能性があります。ほとんどのシナリオでは、それらすべてを門外でサポートします。MVVMliteなどのサードパーティライブラリを導入した場合でも、任意のCPUにビルドできるかどうかは問題ありません。ほとんどのライブラリはそのようにかっこいいです。

于 2012-09-28T14:53:11.617 に答える
3

Metroスタイルアプリで.netフレームワークを使用できないと言うのは正しくありません。より正確には、メトロアプリでのみ使用可能なバージョンの.netフレームワークがあります。アセンブリがこのバージョンの.netFrameworkで構築されていない場合、メトロでは機能しません。このバージョンの.netフレームワークは、.86およびarmで動作します。メトロアプリ用のMVVMLightのバージョンもあります。 こちらからダウンロードしてください。アームの開発の詳細については、こちらをご覧 ください

JavaScript、C ++、Visual Basic、またはC#のいずれを使用しているかに関係なく、x86 / x64を対象とするMetroスタイルアプリを作成した場合は、ARMを対象とするアプリを作成する方法を既に知っています。同じMetroスタイルのプロジェクトテンプレートを使用します。これは、アプリを構築するための開始点を提供します。

編集:Jerryが指摘しているように、ライブラリがC ++で記述されている場合は、異なるバージョンのライブラリに対してアプリケーションをコンパイルする必要がありますが、それは追加の開発を行うのではなく、個別のビルドを用意することの問題です。

于 2012-09-27T23:18:52.973 に答える
1

ライブラリをポータブルクラスライブラリにすると、デスクトップ、メトロ、電話のアプリ(およびxboxも)に使用できます。これは、ライブラリを開始するとき、またはプロジェクトのプロパティで選択できます。これにより、mircrosoftエコシステム内でクロスプラットフォームアプリを簡単に作成できます。

于 2012-10-24T16:31:13.193 に答える