手元にある太古のCで書かれたWin32なスタティック ライブラリを、Visual Studio 2019で 5. 0を使ってWeb API化しようと思い立ち挑戦したところ、スタティック ライブラリをラップした C++/CLI のアセンブリを使うところで dImageFormatException: Could not load file or assembly 'HogeWrapper, Version=1. 0. 7796. 41445, Culture=neutral, PublicKeyToken=null'. 「 間違ったフォーマットのプログラムを読み込もうとしました 」の解決方法 | Remember The Time. 間違ったフォーマットのプログラムを読み込もうとしました。 のエラーでハマってしまったため、解決方法をメモしておきます。 10年以上前のVisual StudioでビルドされたWin32(x86)のスタティック ライブラリ を 5. 0で使うために、まず C++/CLI でラッパーのクラスライブラリのDLL を作成しました。元のLIBが64bit対応していないので、このDLLも32bit縛りです。 次にDLL単独の動作確認のため、同じソリューション内に 5. 0 C#のコンソール アプリのプロジェクトを作って、ソリューション内のDLLのプロジェクトと依存関係を結んで実行したところ、うまく使うことができました。 そして最後に、別のソリューションで 5. 0 C#のWeb APIプロジェクトを作り、 を参照設定しました。これで間接的に の機能が呼び出せるようになります。ビルドまでは順調でした。 しかし、実行時にハマりました。以下、Debug実行時の出力ウィンドウの途中部分なのですが、せっかくロードした がすぐにアンロードされてしまい、例外 dImageFormatException がスローされてしまいます。 '' (Win32): 'C:\Users\Segavvy\source\repos\Hoge\Hoge\bin\x86\Debug\net5. 0\' が読み込まれました。シンボルが読み込まれました。 '' (Win32): 'C:\Windows\SysWOW64\' が読み込まれました。 '' (Win32): 'C:\Windows\SysWOW64\' がアンロードされました '' (Win32): 'C:\Users\Segavvy\source\repos\Hoge\Hoge\bin\x86\Debug\net5.
前提・実現したいこと
C#を使い、とあるプログラムを作って、nugetから入手したlibzbar-cilというライブラリを使っていたところエラーが出てしまいました。
発生している問題・エラーメッセージ
System. 間違ったフォーマットのプログラムを読み込もうとしたのね - Mikke's blog. BadImageFormatException: '間違ったフォーマットのプログラムを読み込もうとしました。 (HRESULT からの例外:0x8007000B)'
該当のソースコード
using System;
using System neric;
using System teropServices;
using System. ;
using System. Windows;
using System ntrols;
using System cuments;
using System vigation;
namespace ISBN_to_Sheet
{
public partial class MainWindow: Window
public MainWindow()
InitializeComponent();}
private void button_Click(object sender, RoutedEventArgs e)
camload p = new camload();
Nullable
自作DLLを呼び出すサンプルプログラムを作っていて以下のエラーが出た。 dImageFormatException はハンドルされませんでした。 間違ったフォーマットのプログラムを読み込もうとしました。 (HRESULT からの例外: 0x8007000B) 他のプログラムでは呼べてるのになんでだろう?と思って調べると、 どうも32bitと64bitが混ざってる時のエラーでした。 無精してAny CPUのままビルドしてましたが、自作DLLが32bitなので そりゃエラーになりますわ 以下参考にさせて頂いた記事です。 ありがとうございます。 間違ったフォーマットのプログラムを読み込もうとしました。ーのねのBlog
Dependency Walker を使って関連ライブラリを調べてみる Dependency Walker は、DLLやexe 実行モジュールの依存関係のライブラリを調べることができる優れた実行モジュールです。 Dependency Walker は Dependency Walker () Home Page からダウンロードします。 x86版とx64版があります。 Dependency Walkerで該当のDLLを調べてみたところ、 の x86版が入っていないことが分かりました。 なるほど、Any CPUでビルドしておいたおかげて、該当モジュールは正しく読み込まれたけれど、さらに、そのモジュールが読み込もうとしていた が入っていないわけですね。。。 これは気づかない! このエラーの解決策 「 が見つからなかったため、アプリケーションを開始できませんでした。」というエラーが出た時と同じ解決方法で Microsoft Visual C++ 2010再頒布可能パッケージ (x86) をインストールします。 ちなみに、x64版は、以下にあります。 Microsoft Visual C++ 2010再頒布可能パッケージ (x64) これをインストールして無事に問題は解決しました。
鶴紗(たずさ)は、いつも怖い顔しているリリィですが、実は無類の猫好き。それを隠しています。 鶴紗:「おなか空いてないかにゃ~?猫缶あるから、一緒にどうかにゃ?」 その現場を、ふみちゃんに見られてしまいました。さて、どうする?たずさちゃん。 アサルトリリィ(4)安藤鶴紗 鶴紗(たずさ)は、いつも怖い顔しているリリィですが、実は無類の猫好き。それを隠しています。 鶴紗:「おなか空い…
あんどう たづさ 安藤 鶴紗 Ando Tazusa CV:紡木吏佐 ヒュージ研究で有名な多国籍企業『G. E. H. N. A. 』で育ったリリィ。口数が少ないため周囲に冷たい印象を与えるが、根は優しい性格。
#アサルトリリィ #安藤鶴紗 団欒の密会 - Novel by ふぁぼ原 - pixiv