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

Точная ошибка следующая

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

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

Ответ 1

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

Ответ 2

Ответ by 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/

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

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

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

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

enter image description here

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

enter image description here

Все сделано!

Ответ 3

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

enter image description here

Ответ 4

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

Ответ 5

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

Ответ 6

Для тех, кто получает эту ошибку в проекте 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 из корзины и снова построил, ошибка исчезла.

Ответ 7

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

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

Ответ 8

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

Un-check "Precompile during publishing"

Ответ 9

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

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

Ответ 10

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

Ответ 11

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

  • Задайте все проекты на x64 в Visual Studio

  • Установите архитектуру процессора по умолчанию для x64 (Test/TestSettings/Default Processor Architecture).

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