web-dev-qa-db-ja.com

Windowsユニバーサルアプリ-Windows10の「任意のCPU」構成はありませんか?

で作成されたWindowsユニバーサルプロジェクトを更新しています

Windows 10用のWindowsソフトウェア開発キット(SDK)テクニカルプレビュー

Windows 10用のWindowsソフトウェア開発キット(SDK)Insiderプレビュー

したがって、ソリューションファイルの変更はVisualStudioVersion from 14.0.22609. to 14.0.22823.1のみです。

プロジェクトファイルの変更も軽微です。

<TargetPlatformVersion>10.0.10030.0</TargetPlatformVersion>
<TargetPlatformMinVersion>10.0.10030.0</TargetPlatformMinVersion>

 <TargetPlatformVersion>10.0.10069.0</TargetPlatformVersion>
 <TargetPlatformMinVersion>10.0.10069.0</TargetPlatformMinVersion>

問題は、元々このユニバーサルプロジェクトが任意のCPU構成に対して正常にビルドされていることですが、現在、次のエラーが発生し始めています。

「AnyCPU」で構築されているプロジェクトのプロセッサアーキテクチャは、参照されているSDK「Microsoft.NET.CoreRuntime、Version = 1.0」ではサポートされていません。プロジェクトのターゲットプロセッサアーキテクチャ(Visual Studioでは、構成マネージャーを介して実行できます)を、SDKでサポートされているアーキテクチャの1つである「x86、x64、ARM」に変更することを検討してください。

したがって、メッセージは何をすべきかが明確です。確認したいだけです。

「SDKforWindows 10 Insider Preview」以降のユニバーサルプロジェクトでは、CPUが使用できなくなったのは本当ですか?

更新

新しく作成されたプロジェクトにもAnyCPUはありません。デフォルトはx86です。

18
Sevenate

そして、ここに answer があります:

  1. C#Windowsユニバーサルアプリを含むソリューションを開きます。プロジェクトファイル(.csprojファイル)を更新する必要があることがわかります。プロジェクトファイルを右クリックして、このファイルの編集を選択します。

  2. <PropertyGroup>を含む<TargetPlatformVersion>要素を見つけます...次に、<Platform>要素の値をx86 ..に設定します。

  3. Condition属性の一部としてAnyCPプラットフォーム用に構成されている<PropertyGroup>要素を検索します。これらの要素とそのすべての子要素を削除します。 AnyCPUはVisualStudio 2015RCのWindows10アプリではサポートされていません

更新1

このビデオから- XAMLと.NETユニバーサルWindowsアプリ開発の詳細 、次に進む:32:28-( small)リリースで「AnyCPU」を取り戻すチャンス:

Screenshot from Deep Dive into XAML and .NET Universal Windows App Development video

更新2

Visual Studio 2015 RCで修正されたバグと既知の問題 からのもう1つの確認:

AnyCPプラットフォーム構成は、C#およびVisualBasicを使用して構築されたWindows10 InsiderPreviewアプリケーションではサポートされていません。このリリースのVisualStudioは、.NETNativeを使用してWindows10アプリケーションを構築します。 .NET Nativeは、C#およびVisual Basicコードをネイティブコードにコンパイルし、CPUに依存しません。

したがって、VS2015 RTMでも、「AnyCPU」構成を取り戻すという希望はほとんどなくなっているように思われます。

更新

さて、 RTMがついにここにあります そして予想通り- AnyCPUなし

Condition属性の一部としてAnyCPUプラットフォーム用に構成されている要素を検索します。これらの要素とそのすべての子を削除します。 AnyCPUはVisualStudio2015のWindows10アプリではサポートされていません

20
Sevenate

ええと、AnyCPはまだ[〜#〜] dll [〜#〜]Windowsランタイムコンポーネントプロジェクトタイプのためにあります。 AnyCPUがないのは、リリース構成のユニバーサルWindowsアプリでデフォルトで.NETネイティブが使用されているためです。ご存知かもしれませんが、.NET Nativeは、アプリとそのすべての依存関係を1つのEXEにリンクします。そのため、DLLとWinRTコンポーネント用にAnyCPUが引き続き存在します。

今はわかりませんが、DevDivの人たちは.NET Nativeの「デフォルト性」についてフィードバックを集めているようです。そのため、十分なフィードバックがある場合は、AnyCPUが時間または後に戻る可能性がありますRTMそれでも、とにかくストアを介してアプリをデプロイするのが一般的であるため、.NETNativeは価値があると思います。

3
Alovchin

プロジェクトを右クリックして[プロパティ]に移動していると想定しています。プラットフォームの下の「ビルド」の一番上の行には、ARM、x64、x86、およびすべてのプラットフォームがあります。 [一般]グループボックスの少し下にある[プラットフォームターゲット]には、任意のCPU、x86、x64、およびARMが含まれています。

構成マネージャー(ビルド->構成マネージャー)を表示している場合は、ARM、x64、x86、新規...、および編集...のみがあります。[新規...]をクリックすると、[任意「CPU」は、追加できるオプション(デフォルト)です。その後、戻って構成用に選択できます。

2
SteveFerg