問題タブ [badimageformatexception]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
787 参照

c# - C# で D DLL を使用する場合の BadImageFormatException

そこで、実験として、C# で D DLL を使用できるかどうかを調べてみることにしました。私は少しグーグルをして、このスレッドを見つけました。DStringC# の 4 回目の投稿でクラスに指定されたコードをコピー (C&P ではなく入力) し、 hereの DllMain() コードを使用しました。

私のDコード:

そして、C# でインポートしている実際の関数:

関数 helloWorld() を次のようにインポートします。

それはすべて正常にコンパイルされ、D または C# コンパイラからのエラーはありませんが、プログラムを (デバッガーの有無にかかわらず) 実行しようとすると、クラッシュします。デバッガーを使用すると、次のエラーが表示されます。

BadImageFormatException was unhandled
An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)

何が起こっているのか、どうすれば修正できるのか、誰かが光を当てることができますか?

0 投票する
8 に答える
116310 参照

c# - モジュールにはアセンブリ マニフェストが含まれている必要がありました

C++ ライブラリといくつかの dll を使用する c# のプロジェクトがあります。私がそれを実行すると、うまくいきます。

ライブラリはAwesomiumで、c++ ライブラリと c# ラッパーの両方が含まれています

ASP.NET MVC 4 プロジェクトからこのプロジェクトへの参照を作成すると、次のエラーが発生します。

例外の詳細: System.BadImageFormatException: ファイルまたはアセンブリ 'file:///D:\Projects\Development\ProGamers\GamingSite\bin\avcodec-52.dll' またはその依存関係の 1 つを読み込めませんでした。モジュールには、アセンブリ マニフェストが含まれている必要がありました。

私が試したこと:

  1. dll をコピーしますが、まだ機能しません (ファイルが存在します)。

  2. GACに登録していますが、同じエラーが発生しました。

  3. .NET Framework 4.0 を使用していることを確認してください (クライアント プロファイルではありません)。

  4. 競合を引き起こす同じ dll/exe 名の 2 つのファイル- 私はそれを持っていません。

  5. ソリューションのプラットフォームを AnyCPU/Mixed Platforms に変更します。

スタックトレース:

0 投票する
1 に答える
644 参照

.net - コマンド ライン パラメーターを使用して msbuild に .NET 4.0 をターゲットにした後、BadImageFormatException が発生する

アプリケーションと、それが依存する dll があり、csproj ファイルで .NET 3.5 をターゲットにするように設定されています。/p:TargetFrameworkVersion=v4.0コマンド ライン パラメーターとして msbuild に (NAnt を使用して)渡すことにより、.NET 4.0 をターゲットとするこれら 2 つのプロジェクトをビルドしようとしています。ビルドは成功していますが、プログラムを実行すると、BadImageFormatException ですぐにクラッシュします - 「このアセンブリは、現在読み込まれているランタイムよりも新しいランタイムによって構築されており、読み込むことができません」

.NET リフレクターを使用して、出力の exe と dll のすべての参照を確認しました。すべてが .NET 4.0 dll を参照しています。.NET 2 を参照するものはありません。それでも、私のデバッガーは、mscorlib 2.0.50727.4971 がロードされたと言っています。

プロジェクト自体を .NET 4 を対象とするように変更してから、Visual Studio でビルドすると問題なく動作します。

次の調査ステップがどうなるかわからないので、ここで少し立ち往生しています。そのバージョンの mscorlib をロードしている理由がわかりません。

0 投票する
1 に答える
455 参照

visual-studio-2010 - C#Assembly.LoadFromはBadImageFormatExceptionをスローします

私が作業しているプロジェクトの1つでは、関数を使用して、コードを.netDLLで完全に信頼できるアセンブリに動的にロードしAssembly.LoadFromます。これまで、これは問題なく100%機能しています。

これで、上記を使用してロードする必要がある/ clr:pureでコンパイルされたVisual C++DLLができましたAssembly.LoadFrom。実行するとBadImageFormatExceptionが発生しますが、これは本当に奇妙なことです。

Visual C ++プロジェクトには、次の3種類のCLRコンパイルオプションがあります。

/ clr

/ clr:pure

/ clr:safe

私に与えられた指示に従って、それは/ clr:pureの下でコンパイルされる必要があります。私の問題は、/ clr:pureを使用すると例外がスローされることです。/ clrに変更すると、例外もスローされます。/ clr:safeに変更すると、例外をスローせずにロードされます(これでテストが終了しました)。

したがって、これは実際には2つの部分からなる質問だと思います。

1)/ clr:safeは機能するが、他の2つは機能しないのはなぜですか?

2)/ clrで動作させるにはどうすればよいですか?

前もって感謝します!

0 投票する
0 に答える
284 参照

silverlight - Silverlight - C++ dll の不正な画像形式の例外

C++ プロジェクトからビルドした dll があります。Silverlight プロジェクトでその dll を間接的に参照しています (つまり、Web プロジェクトは C# プロジェクトを参照しており、C# プロジェクトはこの dll を使用しています)。Silverlight アプリをビルドするたびに、これが表示されます

私の Silverlight Web プロジェクトは、問題なく他の C# プロジェクトを参照しています。C++ dll への参照を削除すると、すべて問題ないように見えます。

さまざまなオプションの2つの異なることにうんざりしました

  1. c++ dll を 32 ビットと 64 ビットでビルドしましたが、エラーに変化はありません
  2. C++ dll をビルドするときに .net プロファイルをクライアント バージョンに変更しましたが、まだ変更はありません

(Silverlight 5を使用しています)

誰かが何が起こっているのか理解するのを手伝ってくれますか?

ありがとうK

0 投票する
1 に答える
546 参照

c# - C#からC ++クラスライブラリをロードする(64ビット)

C ++クラスライブラリと、ライブラリを使用するC#のWindowsアプリケーションがあります。

32ビットWindowsではうまく機能しますが、64ビットWindowsでは機能しませんBadImageFormatException

C ++クラスライブラリのプラットフォームを変更しようとしましたが、WIN32からWIN64に変更できません。

次の質問のいずれかでこの問題を解決できると思います。

  1. WIN32ライブラリをWIN64ライブラリに変換する方法はありますか?
  2. C ++ライブラリを使用せずにC#でC ++関数を呼び出す別の方法はありますか?
  3. 64ビットアプリケーションでWIN32ライブラリをロードすることは可能ですか?
0 投票する
1 に答える
3760 参照

64-bit - x64 上の IIS での BadImageFormatException

Windows 7 x64 を使用しています。MVC アプリを起動すると、BadImageFormatException が発生します。32 ビット アプリケーションが有効になっているアプリケーション プールで実行すると、例外はスローされません。global.asax の読み込みに問題があるようです。Fusion ログ (HKLM\software\Microsft\Fusion!EnableLog) レジストリ設定を有効にしました。これはログです:

異なるビルド構成を使用すると、次の結果になります。

x64、32 ビット アプリケーション プールのビルド false: エラー

x86、32 ビット アプリケーション プールのビルド false: エラー

AnyCPU のビルド、32 ビット アプリケーション プール false: エラー

x64、32 ビット アプリケーション プールのビルド true: エラー

x86、32 ビット アプリケーション プールをビルドする true: OK

AnyCPU のビルド、32 ビット アプリケーション プール true: OK

IIS エクスプレス: OK

64 ビット構成で使用される 32 ビット問題の dll を見つけるにはどうすればよいですか?

0 投票する
1 に答える
1891 参照

c# - opencv_imgproc.dll が BadImageFormatException をスローする

Emgu CV (x64 用) を使用して画像処理アプリケーションを構築しており、画像にフィルター機能を使用したいと考えています。だから、私は使用しますopencv_imgproc.dllが、それはスローし ますBadImageFormatException

0 投票する
1 に答える
867 参照

c# - System.BadImageFormatException どういう意味ですか?

重複の可能性:
installutil.exe を使用してサービスをインストールしようとすると、System.BadImageFormatException の「無効な形式」が発生する

Windows Service App をインストールすると、次の例外が発生します。

エラー 1001。インストールの初期化中に例外が発生しました: System.BadImageFormatException: ファイルまたはアセンブリ .....file.exe またはその依存関係の 1 つを読み込めませんでした。不正な形式のプログラムをロードしようとしました。

0 投票する
1 に答える
1579 参照

.net - 64 ビット マシンで「AnyCPU」をターゲットにすると、BadImageFormatException が発生する

ソースをWin7 64-bitマシンに転送BadImageFormatExceptionすると、ソリューション ターゲットをコンパイルして実行しようとするとAnyCPU.

では発生しませんXP 32-bit

何が問題ですか?