web-dev-qa-db-ja.com

System.BadImageFormatException:ファイルまたはアセンブリを読み込めませんでした

C:\Windows\Microsoft.NET\Framework64\v4.0.30319>InstallUtil.exe C:\_PRODUKCIJA\D
ebug\DynamicHtmlTool.exe
Microsoft (R) .NET Framework Installation utility Version 4.0.30319.1
Copyright (c) Microsoft Corporation.  All rights reserved.

Exception occurred while initializing the installation:
System.BadImageFormatException: Could not load file or Assembly 'file:///C:\_PRO
DUKCIJA\Debug\DynamicHtmlTool.exe' or one of its dependencies. An attempt was ma
de to load a program with an incorrect format..

C:\Windows\Microsoft.NET\Framework64\v4.0.30319>

両方のコンピュータがx64であり、それが私のコンピュータ上で動作します。ここで勝つ2008年であるサーバーで私はこのエラーが出ます。

私はグーグルからの解決策を試してみますが、どれも動作しません。

ここに書くように私はx86プロジェクトを持っています http://www.davesquared.net/2008/12/systembadimageformatexception-on-64-bit.html

202
senzacionale

32ビット/ x86アーキテクチャー・アプリケーションをインストールするために64ビット版のツールを使用しているようです。ここでツールの32ビットバージョンを探してください。

C:\Windows\Microsoft.NET\Framework\v4.0.30319

32ビットアプリケーションを正常にインストールできます。

246
madd0

プロジェクトの設定を変更してみてください。これは通常x86/x64アーキテクチャの問題によるものです。

以下のように選択してください。

120
David

私はこの問題に対する別の解決策を見つけました。どうやら私のIIS 7はデフォルトで私のアプリケーションプールで有効にされた32ビットモードを持っていませんでした。

32ビットモードを有効にするには、IISを開いてアプリケーションプールを選択します。私の名前は "ASP.NET v4.0"です。
右クリックして[詳細設定]に移動し、[Enabled 32-bit Applications]というセクションをtrueに変更します。

Webサーバーを再起動してもう一度やり直してください。

私はこのブログ参照から修正を見つけました: http://darrell.mozingo.net/2009/01/17/running-iis-7-in-32-bit-mode/

また、Visual Studioで設定を変更することもできます。私の場合は、Tools > Options > Projects and Solutions > Web Projectsに行き、Use the 64 bit version of IIS Express for web sites and projectsをチェックしました - これはVS Pro 2015にあります。

101
Joseph Snow

正しいフレームワークを使用してインストールする場合も同じ例外がありました。

私の解決策は管理者としてcmdを実行していた....それからそれはうまくいきました。

5
woony

私の原因は私がこのメッセージを得た私がWebサービスを参照したのとは異なっていました。

それから私は私の目標を.Net Framework 4.0から.Net Framework 2.0に変更し、私のWebサービスを再参照しました。いくつかの変更の後、問題は解決しました。うまくいったエラーはありません。

お役に立てれば!

3
Davut Gürbüz