Я получаю сообщение об ошибке" попытка загрузки программы с неправильным форматом " в проекте репликации SQL Server

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

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

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

12 ответов


на ответ от балды ниже правильно, но вам также может потребоваться включить 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

все готово!


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


измените значение целевой платформы на странице свойств веб-проекта на Any CPU.

enter image description here


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


недавно у нас возникла проблема при попытке запустить код из Visual Studio. В этом случае вам нужно сделать
Инструменты > Параметры > проекты и решения > веб-проекты и установите флажок "Использовать 64-разрядную версию IIS Express для веб-сайтов и проектов".


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

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

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

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


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

  • инструменты =>
    • параметры =>
      • проекты и решения =>
        • Веб-Проектов =>
          • используйте 64-разрядную версию IIS Express для веб-сайтов и проектов

измените его на 32-битный (true) он работает

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


Если публикация в Visual Studio 2012 когда erroring попробовать сняв "Procompile во время публикации" опция в Мастере публикации.

Un-check "Precompile during publishing"


в приложении windows form я делаю это, Щелкните правой кнопкой мыши на Project - >Properties->Build->Check Prefer 32-bit checkbox. Спасибо всем


  1. удалить каталог temp test, расположенный здесь C:\Users (Пользователь)\AppData\Local\Temp\VisualStudioTestExplorerExtensions\

  2. установите для всех проектов значение x64 в Visual Studio

  3. задайте для архитектуры процессора по умолчанию x64 (Test / Testsettings / default Processor Architecture).

убедитесь, что вы очистили файл решения.Надеюсь, это поможет!


изменение целевой платформы в свойствах проекта с .NET Framework 4.7.1 на 4.6.2 работало для меня.