Установка проекта .net 4 на целевом сервере - Ошибка System.BadImageFormatException

Я установил фреймворк .net 4 на одном из моих серверов.

Когда я запускаю проект установки, созданный в Visual Studio, получите следующую ошибку:

Ошибка 1001 Исключение произошло во время инициализация установки. System.BadImageFormatException: возможно не загружать файл или сборку или одну из ее зависимостей. Эта сборка построена по времени выполнения, чем в настоящее время загруженной среды выполнения и не может быть загружена.

Я определенно установил инфраструктуру .net 4 на целевой машине - что происходит?

Ответы

Ответ 1

В конце концов я нашел решение этого и написал об этом в блоге: Развертывание .NET 4 Project - Ошибка 1001 (System.BadImageFormatException)


Обновление: Скопировано содержимое из :

"После участия в британских мероприятиях Tech Days на прошлой неделе в Лондоне я очень хотел перейти на Visual Studio 2010 и .NET-славу.

Я преобразовал некоторые из наших проектов здесь, в Crocus, в инфраструктуру .net 4 (что было невероятно просто - ничего не сломалось!) Я даже воспользовался некоторыми из быстрых возможностей для реализации функций в .net 4 и преобразовал некоторые из наших массивно перенаправленных методов для использования необязательных параметров.

Одним из проектов, в частности, является служба Windows, которая отправляет заказы на поставку по расписанию. (Недавно я писал о том, как это произошло из-за того, что Quartz.net ожидает время начала UTC)

У этого есть связанный с ним проект развертывания Visual Studio.

После создания недавно обновленной версии проекта .net 4 и развертывания файла .msi на нашем целевом сервере, я получил следующую ошибку:

Ошибка 1001 Исключение произошло при инициализации установки. System.BadImageFormatException: не удалось загрузить файл или сборку или один его зависимостей. Эта сборка построена с помощью среды выполнения, более новой, чем загружаемая в настоящее время среда выполнения и не может быть загружена.

Теперь я определенно обновил указанный сервер до .net 4 (дважды, по сути, - после первого раза я получил эту ошибку!)

После некоторого Googling некоторые люди говорили изменить целевую платформу на моих сборках, что я сделал, но безрезультатно.

В итоге я обнаружил проблему.

Вам нужно установить . Состояние запуска .NET Framework

Вот как это сделать:

  • Щелкните правой кнопкой мыши проект развертывания в проводнике решений. В контекстном меню выберите "Вид" → "Условия запуска"
  • В разделе "Версия" выберите ".NET Framework 4"

После восстановления и развертывания моего установочного файла все сработало нормально.

Ответ 2

  • Нажмите проект установщика, затем перейдите в Project > Properties.
  • Нажмите кнопку Предварительные требования
  • Установите флажок "Microsoft.NET Framework 4 (x86 и x64)" и снимите предыдущую версию фреймворка
  • Нажмите "ОК" в окне "Предварительные требования" и в окне свойств.
  • Щелкните правой кнопкой мыши проект установщика и перейдите в меню Вид > Условия запуска
  • Выделите условие .NET Framework и обновите следующие поля в окне свойств
    а. InstallURL: http://msdn.microsoft.com/en-us/netframework/aa569263.aspx
    б. Версия:.NET Framework 4
  • Восстановить установщик

Ответ 3

Те, кто все еще борются, попробуйте следующее enter image description here, перейдите в Пользовательское действие и обновите следующее до true в опции свойства enter image description here