いろいろ備忘録日記

主に .NET とか Go とか Flutter とか Python絡みのメモを公開しています。

VisualStudioプロジェクトプロパティの「32ビットの優先」チェックボックス

たまに忘れてて、あれ?ってなるのでメモメモ。

いつからこのオプションが追加されたのか、VisualStudio 2013でプロジェクトのプロパティページに「32ビットの優先」というチェックボックスが追加されています。

f:id:gsf_zero1:20140428085931p:plain

このチェックボックスですが、プロジェクトの種別がコンソールアプリケーションなどでは、デフォルトでONとなっています。CPUターゲットもデフォルトではAnyCPUなので、いつものように64ビットOSでアプリ作ってて、SQLiteなどのプラットフォーム毎にDLLが分かれているライブラリなどを利用しているといきなりエラー出たりしてビックリします。

大抵のアプリでは問題にならないかもしれませんが、画像などを扱うアプリではメモリが4GBを超えるのもあるので、その場合32ビット状態では4GB以上のメモリが扱えないので注意。

以下、MSDNの該当ページです。

[ビルド] ページ (プロジェクト デザイナー)

上記ページに、以下の条件の場合に有効になるとのこと。

  • [ビルド] ページの [プラットフォーム ターゲット] ボックスの一覧で、[Any CPU] が設定されている。
  • [アプリケーション] ページの [出力の種類] ボックスの一覧で、プロジェクトがアプリケーションであることが指定されている。
  • [アプリケーション] ページの [ターゲット フレームワーク] ボックスの一覧で、.NET Framework 4.5 が指定されている。

ちなみに、今動いているアプリが32ビットプロセスなのか64ビットプロセスなのかは

Environment.Is64BitProcess

で確認できます。


過去の記事については、以下のページからご参照下さい。

サンプルコードは、以下の場所で公開しています。