※ ChatGPTを利用し、要約された質問です(原文:VS2012 C# バイナリが32bitで動作固定)
VS2012 C# バイナリが32bitで動作固定
このQ&Aのポイント
Windows 7 64bit版のOSで使用しているVisual Studio 2012 for Windows DesktopのC#プロジェクトで、バイナリが32bitで動作してしまう理由を知りたい。
プロジェクトのソリューション構成やプラットフォームの設定を確認し、コンパイルしたバイナリが64bitではなく32bitで動作する問題を解決したい。
手順中に64bitで動作することが理解できるが、なぜ4.の手順で32bitで動作するのか原因を知りたい。
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で動作」する理由がわかりません。こちらの原因をお教えいただけると
助かります。
お礼
対象のフレームワークを「.NET Framework 4」にすると、[32 ビットの優先]が選択できなくなるついでにチェックが外れるんですね。 質問に記した手順の動作全てに納得がいきました。 ピンポイントで的確なご回答ありがとうございました。