Visual Studioの64bitOSへの対応方法
64bitOSとは言っても互換性は考えられているもので
最近作ったプログラムの載せ替えならだいたい問題はないのですが
Microsoft.JET.OLEDB.4.0などは64bit版のDLLが存在しないため、
ターゲットCPUがAnyCPUのままではエラーになるようです。
Microsoft.JET.OLEDBとか何に使ってるの?というと
Accessでおなじみの.mdbファイルをローカルDBとして使えるのです
テーブル定義なんかはAccess使ったほうが楽なんですが、
頑張ればAccessがない環境でもVBだけで完結できたりします。
さらにVisual Studio Express Editionは無料で使えたりするので
お金をかけないでデータベースを使ったアプリが書けて大変重宝していました。
さて、本題に戻ってエラーの解決方法なのですが、
ターゲットCPUを32bit(x86)に設定すれば解決です。
詳しくは以下のサイトの[ターゲット CPU]を参照してください。
Advanced Compiler Settings Dialog Box (Visual Basic) - Visual Studio 2015 | Microsoft Docs
ところがExpress Editionだと
Visual Basic Express では、特定の種類の CPU 向けの最適化をサポートしていません。
これは、Visual Studio 製品の完全バージョンでのみサポートされます。
とあるように、このオプションが表示されないんですね
これは有料版を買うしかないのか・・・
と思いきや.vbprojをメモ帳なんかで直接書き換えればいけるみたいです。
2011-05-07
より
サンプルの各.vbprojファイルをメモ帳などで開いて、最初の
セクション内に という行を追加。
これだけです。
これだけで64bitOSでも32bitにしかないDLLが、
.mdbファイルなんかが使えるようになるはずです。