BadImageFormatExceptionなエラーが発生
関連記事
- 【#CSHARP】ソリューション内でサービス,Winformアプリを混在で作成させ,バイナリ出力先を同じにするとサービスが起動しない 【2024年02月08日(木)】
- 【#PHP】謎な #Laravel 案件 引き渡したじ 【2024年01月11日(木)】
- 【C#】謎な改造アプリ,SIMD命令を導入して高速化しようか,思案中 【2023年11月14日(火)】
- Javaの”やらかし”でC#と人気逆転か 激変プログラミング言語人気ランキング 【2023年10月18日(水)】
- 【#CSHARP】次の案件のスケルトン書いてgitサーバに登録するなどと 【2023年05月16日(火)】
某所へ納める,ライブラリの
サンプルPGを作成中
サンプルは,C#にて実装.この中から,アンマネージなDLL(VC++で作成)を呼び出すような実装
至って普通に実装して
さて,いざ,動かしてみたところ...
- BadImageFormatException
はて,なんじゃらホイ??
このDLLは,動いていたやつじゃぞな??
考え込むこと15分....
あっ!
うち,Windows 7 x64バージョン つまり64ビット環境
んで,C#で普通に作成したアプリは,生成したプログラムを起動時にJITが走って,再コンパイル
32bitWindows環境なら,32ビットアプリに
64bitWindows環境なら,64ビットアプリに
変化してしまいまする.
して,64ビットのアプリから,32ビットアンマネージDLLを呼び出すのは,Windowsの仕様で禁止されておりまする
ので,このエラーが発生した,と(爆
C#のプロジェクトオプション,ビルド~プラットフォームターゲットを,AnyCPUからX86に変えて,
JITにたいして強制的に,32bitモードで再コンパイルするよう指定してやれば,OK!
う~む,弊社から出荷した分,C#系は当面,x86オプションに変えないと
BadImageFormatException頻発で,バタバタすることになるなぁ...
メンドクサイぞぉ~(苦笑
Windows7でC#で作ったアプリからDLLを呼び出して同じ現象が起きていました。
本当にドンピシャ!の内容で助かりました。
>>はぜ さま
.NETなアプリ、64ビット環境で走らせると
このエラーで、はまりますよねぇ。。。
この後も、何度か、登場して
コンパイルオプションを変えた次第。。。(汗