web-dev-qa-db-ja.com

Visual Studio 2012で「32ビットを優先」チェックボックスが無効になっているのはなぜですか?

Prefer 32-bitをtrueに設定したい状況に遭遇しました。ただし、Visual Studio 2012では、無効として表示されます。そして、私が何をしても、それは有効になりません。

私は、任意のCPU優先32ビットがすべての新しいプロジェクトのデフォルト値であることを読みました。それで、無効になっているがtrueに設定されていると仮定する必要がありますか?それから、どのようにそれをちょうど任意のCPUに設定できますか?

。NET 4.5とVisual Studio 11の時点でAnyCPUが本当に意味するものおよびStack Overflowの他の多くの投稿と質問では、次のように述べています。

全体的に、/ platform C#コンパイラスイッチには5つのオプションがあります。x86、Itanium、x64、anycpu、およびanycpu 32ビットが推奨されます

さらに、過去にそのチェックボックスが有効になったと述べた同僚がいます(おそらく間違っていますか?)。

32ビット優先チェックボックスが無効になっているのはなぜですか?また、再度有効にするにはどうすればよいですか?

私のプロセッサは64ビットであり、Update2をVisual Studio 2012に適用しました。

37
Dzyann

実行可能プロジェクトがあると仮定して、ターゲットプラットフォームを.NET 4.5に変更すると、有効になります。

これは.NET 4.5専用のものであり、実行可能ファイルに対してのみ有効になっています。

47
Matthew Watson

Visual Studio 2013(および場合によってはVisual Studio 2012)の.NET 4.5実行可能ファイルでこれに遭遇した場合:

プロジェクトを.NET 4.0に切り替えてから.NET 4.5に戻すことで解決しました(プロジェクトプロパティの[ビルド]タブ)。これにより、AnyCPUの「32ビットを優先」チェックボックスが再び有効になりました。

4
Ron Deijkers

プロジェクトが単体テストプロジェクトの場合、この設定は無効になっている場合もあります。とにかく、設定は私の問題ではなかったことがわかります。 Visual Studioテストランナーを64ビットプロセスとして実行するように変更して、テストを実行しました。

Visual Studio Community 2015では、[テスト]メニューでこれを見つけました。
テスト>テスト設定>デフォルトプロセッサアーキテクチャ> X64

Microsoftからの詳細情報は次のとおりです。
https://msdn.Microsoft.com/en-us/library/ee782531.aspx

2
NJS