VS2012の「32ビットの優先」ビルドオプション
OleDbでOracle接続を行ったところ、何故かVS2012で作成したプロジェクトではエラーになる。
色々調べた結果、
理由はビルドオプションでの「32ビットの優先」オプションがTrueだった事が分かった。
VSのバージョンによってビルドオプションの初期値が以下の様になる模様
VS2008まで ・Any CPU VS2010 ・x86 VS2012以降 ・Any CPU(32ビットの優先)
- Any CPU:32bitOS上では32bitのCLR上で動作。64bitOS上では64bitで動作。
- x86:32bitのCLR上で動作
- x64:64bitのCLR上で動作。32bitOSでは実行できない。
- Any CPU(32ビットの優先):32bitOSでも64bitOSでも、32bitのCLR上で動作。.Net4.5を対象とする場合のみ指定できる。
関連URL
http://www.infoq.com/jp/news/2012/04/anycpu_vs11
https://msdn.microsoft.com/ja-jp/library/vstudio/zekwfyz4.aspx
http://sourcechord.hatenablog.com/entry/20130412/1365789867