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>

служба x86 скомпилирована, даже оба компьютера - x64, и она работает на моем компьютере. Здесь, на сервере, где есть победа 2008, я получаю эту ошибку.

Я пытаюсь найти решения из Google, но никто не работает.

Как писать здесь, у меня есть проект x86 http://www.davesquared.net/2008/12/systembadimageformatexception-on-64-bit.html

Ответ 1

Кажется, что вы используете 64-битную версию инструмента для установки приложения с архитектурой 32-разрядной/x86-архитектуры. Найдите здесь 32-битную версию инструмента:

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

и он должен просто установить ваше 32-битное приложение.

Ответ 2

Попробуйте настроить параметры ваших проектов, обычно это связано с проблемами архитектуры x86/x64:

Перейдите и установите свой выбор, как показано:

Ответ 3

Я нашел другое решение этой проблемы. По-видимому, мой IIS 7 по умолчанию не включил 32-битный режим в моем пуле приложений.

Чтобы включить 32-битный режим, откройте IIS и выберите свой пул приложений. Мой был назван "ASP.NET v4.0".
Щелкните правой кнопкой мыши, перейдите в "Дополнительные настройки" и измените раздел с именем: "Включено 32-разрядные приложения" в true.

Перезагрузите веб-сервер и повторите попытку.

Я нашел исправление из этой ссылки в блоге: http://darrell.mozingo.net/2009/01/17/running-iis-7-in-32-bit-mode/

Ответ 4

У меня была такая же установка исключений с использованием правильной структуры.

Мое решение выполняло cmd как администратор.... тогда он работал нормально.

Ответ 5

Моя причина была другая. Я ссылался на веб-службу, после чего получил это сообщение.

Затем я изменил мою целевую .Net Framework 4.0 на .Net Framework 2.0 и переотправил свой веб-сервис. После нескольких изменений проблема решена. Ошибка не срабатывает.

надеюсь, что это поможет!