こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

VS2012 C# バイナリが32bitで動作固定

文字数制限のため、わかりづらいタイトルになってしまいました。

Windows 7 64bit版のOSにてVisual Studio 2012 for Windows Desktopを
使っています。言語はC#です。

デフォルトでコンパイルしたバイナリが64bit環境にもかかわらず32bitで
動作してしまうので、理由を知りたいです。

手順
1.コンソールやフォームのプロジェクトを新規作成して、ソリューション構成を
「Release」にします。ソリューションプラットホームは「Any CPU」であることを
確認します。
2.コンソールの場合、すぐ終わらないようにMain関数に「Console.ReadKey();」等を
記述します。
3.「すべてを保存」して、「ソリューションのビルド」をします。
4.コンパイルしたバイナリを直接実行すると、「32bitで動作」してしまいます。

5.プロジェクトの「対象のフレームワーク」を「.NET Framework 4」にします。
6.ビルドして実行すると、「64bitで動作」しています。

7.プロジェクトの「対象のフレームワーク」を「.NET Framework 4.5」に戻します。
6.ビルドして実行すると、「64bitで動作」しています。

手順中の 6. と 8. にて「64bitで動作」することは理解できるのですが、4. にて
「32bitで動作」する理由がわかりません。こちらの原因をお教えいただけると
助かります。

投稿日時 - 2013-09-20 12:24:24

QNo.8272111

困ってます

質問者が選んだベストアンサー

プロジェクトのプロパティのビルドページの全般欄にある,[32 ビットの優先]のチェックを外して下さい。

投稿日時 - 2013-09-21 01:47:17

お礼

対象のフレームワークを「.NET Framework 4」にすると、[32 ビットの優先]が選択できなくなるついでにチェックが外れるんですね。
質問に記した手順の動作全てに納得がいきました。
ピンポイントで的確なご回答ありがとうございました。

投稿日時 - 2013-09-21 05:22:50

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)