Я получаю сообщение об ошибке "Ошибка загрузки ошибки с неправильным форматом" в проекте репликации 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).
Обязательно очистите файл решения. Надеемся, что это поможет!