2012-09-27 10 views
8

Windows RTデバイスと完全なWindows 8 OSで動作するC#とXAMLを使ってMetroスタイルアプリケーションを開発する必要があります。ですから、.NETフレームワークアセンブリなしでWinRTのみを使用することは許されています。私はこの質問 Windows RTとc#

Microsoft Surface Tablet: Writing Apps for Both Devices?

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

ARMのWindows RTとWindowsの違いを教えてください WindowsRT OS用に開発するにはWinRT(.netなし)のみを使用する必要がありますか?

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

答えて

14

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

ここでは、注意点があります。あなたはC#のためにこの答えを簡単にしました。 CPP開発者は、この互換性を破るためにできるコーディング方法があるため、同じ保証はありません。 C#ではそうではありません。あなたが書いたコードが "Any CPU"にコンパイルされたら、私が言っているのは正しいです。

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

最後の例では、まだすべてのプラットフォームをサポートしていますが、これを達成するために特定の3つの異なるビルドが必要です。コードがまったく変更されない可能性があります。ほとんどのシナリオでは、それらをゲートからすべてサポートします。 MVVMliteのようなサードパーティのライブラリを導入しても、あなたはどんなCPUにも構築できれば大丈夫です。ほとんどの図書館はそれほど冷静です。

+0

ありがとうございます。私が尋ねたときに正確に答えたのは –

+1

もう1つのことは、PINVOKEをWinRTの管理開発者が引き続き使用できるため、C#開発者がARMの非互換性を引き起こす可能性がありますが、 –

3

Metroスタイルのアプリケーションで.netフレームワークを使用できないと言っても間違いありません。より正確に言うと、メトロアプリケーションでのみ利用可能な.netフレームワークのバージョンがあります。アセンブリがこのバージョンの.netフレームワークでビルドされていない場合、それらはメトロでは動作しません。 .netフレームワークのこのバージョンは、.86とarmで動作します。また、メトロアプリケーション用のMVVM Lightのバージョンもあります。 Download it here.アームの開発の詳細については、hereを参照してください。かかわらず、あなたは、x86/x64のを対象とMetroスタイルアプリを構築した場合は、JavaScriptやC++、Visual Basicの、または C#を使用しているかどうかの

あなたは すでにARMをターゲットとするものを構築する方法を知っています。同じMetro スタイルのプロジェクトテンプレートを使用して、 アプリを構築するための出発点となります。

編集:ジェリーが指摘するように 、あなたは彼らがC++で書かれている場合はライブラリの異なるバージョンに対してアプリケーションをコンパイルする必要がありますが、それはむしろ、追加の開発を行うために持つよりも、別のビルドを持っていることの問題です。

+0

返信いただきありがとうございます。はい、私はメトロアプリケーション開発で.NETフレームワークを使用することができますが、私のアプリケーションがWindows RT OSで動作することを確かめるにはどうすればいいですか?私は.86で動作するメトロスタイルのアプリケーションと、Windows 8でARMをする必要はありません.Net FrameworkのどのバージョンもWindows RT OSで使用できますか? –

+0

私はWindows86ではなく.86で動作するMetroスタイルのアプリケーションと、Windows RTではARMを必要としません。 –

+0

@Bogdan Dudnik現代のアプリは移植性があり、両方で動作します。 –

1

ライブラリを移植可能なクラスライブラリにする場合は、デスクトップ、メトロ、および電話アプリ(およびxboxも)に使用できます。ライブラリを起動するとき、またはプロジェクトのプロパティでこれを選択できます。それは、mircrosoftのエコシステム内でクロスプラットフォームアプリケーションを作成することを容易にします。

関連する問題