Я получаю сообщение об ошибке «Попытка загрузить программу с неверным форматом» в проекте репликации SQL Server - PullRequest
314 голосов
/ 03 сентября 2008

Точная ошибка выглядит следующим образом

Не удалось загрузить файл или сборку 'Microsoft.SqlServer.Replication, Версия = 9.0.242.0, Культура = нейтральная, PublicKeyToken = 89845dcd8080cc91 ' или одна из его зависимостей. Была предпринята попытка загрузить программу с неверный формат.

Недавно я снова начал работать над этим проектом после двухмесячного перехода в другой проект. Раньше он отлично работал, и я дважды проверил все ссылки.

Ответы [ 12 ]

399 голосов
/ 28 мая 2010

Ответ baldy ниже верен, но вам также может потребоваться включить 32-битные приложения в вашем AppPool.

Источник: http://www.alexjamesbrown.com/uncategorized/could-not-load-file-or-assembly-chilkatdotnet2-or-one-of-its-dependencies-an-attempt-was-made-to-load-a-program-with-an-incorrect-format/

При настройке приложения для запуска на моем локальном компьютере (под управлением Vista 64bit) я обнаружил эту ошибку:

Не удалось загрузить файл или сборку ChilkatDotNet2 или одну из ее зависимостей. Была предпринята попытка загрузить программу с неверным формат.

Очевидно, что приложение использует компоненты ChilKat , но может показаться, что используемая нами версия - только 32-битная версия.

Чтобы устранить эту ошибку, я настроил пул приложений в IIS для разрешения 32-битных приложений. Откройте диспетчер IIS, щелкните правой кнопкой мыши пул приложений и выберите «Дополнительные параметры» (см. Ниже)

enter image description here

Затем установите для «Включить 32-разрядные приложения» значение True.

enter image description here

Все готово!

120 голосов
/ 03 сентября 2008

Я нашел решение. Я недавно обновил свой компьютер до Windows 2008 Server 64-bit. Пространство имен SqlServer.Replication было написано для 32-разрядных платформ. Все, что мне нужно было сделать, чтобы запустить его снова, это установить целевую платформу в свойствах сборки проекта на X86.

86 голосов
/ 26 октября 2010

Измените значение Platform Target на странице свойств вашего веб-проекта на Any CPU.

enter image description here

52 голосов
/ 13 октября 2011

Перейти к IIS -> Пул приложений -> Расширенные настройки -> Включить 32-разрядные приложения

23 голосов
/ 05 ноября 2015

Недавно у нас возникла проблема при попытке запустить код из Visual Studio. В этом случае вам нужно сделать
ИНСТРУМЕНТЫ> ОПЦИИ> Проекты и решения> ВЕБ-ПРОЕКТЫ и отметьте «Использовать 64-разрядную версию IIS Express для веб-сайтов и проектов».

11 голосов
/ 21 июня 2011

Для тех, кто получает эту ошибку в ASP.NET MVC 3 проекте, в самой Visual Studio:

В приложении ASP.NET MVC 3, над которым я работаю, я попытался добавить ссылку на Microsoft.SqlServer.BatchParser в проект, чтобы решить проблему, отсутствующую на сервере развертывания. (Наше приложение использует SMO; правильным решением было установить собственный клиент SQL Server и несколько других вещей на сервере развертывания.)

Даже после того, как я удалил ссылку на BatchParser, я продолжал получать ошибку «Была предпринята попытка ...», ссылаясь на библиотеку BatchParser, на каждой странице ASP.NET MVC 3, которую я открыл, и за этой ошибкой следовали десятки. ошибок синтаксического анализа страницы.

Если это произойдет с вами, выполните поиск файла и посмотрите, находится ли библиотека DLL в одной из папок \ bin вашего проекта. Даже если вы перестраиваете, Visual Studio не обязательно очищает все во всех ваших папках \ bin. Когда я удалил библиотеку DLL из корзины и снова собрал ее, ошибка исчезла.

4 голосов
/ 11 августа 2017

У меня было это в приложении MVC5 в Windows 10 против IIS Express. Мое решение было следующим:

  • Инструменты =>
    • Параметры =>
      • Проекты и решения =>
        • Веб-проекты =>
          • Использование 64-разрядной версии IIS Express для веб-сайтов и проектов
2 голосов
/ 05 февраля 2016

изменить его на 32-битный (правда), он работает

если вы получите эту длину, она не может быть меньше нуля. Имя параметра: проблема с длиной в настройке сервера iis: просто измените строку подключения в файле web.config, например, имя сервера sql и имя сервера, и перезапустите iis, затем попытайтесь загрузить страницу, на которой он работает

1 голос
/ 25 октября 2013

Если Публикация в Visual Studio 2012 при возникновении ошибки, попробуйте снять флажок «Скомпилировать во время публикации» в мастере публикации.

Un-check

0 голосов
/ 09 апреля 2018

Изменение Target Framework в свойствах проекта с .NET Framework 4.7.1 до 4.6.2 мне помогло.

...