Ошибка Crystal Reports при развертывании. Невозможно загрузить файл или сборку. Log4net
Пожалуйста, помогите. У меня есть веб-приложение, которое было построено на VS2010, и мы используем плагин CR для 2010 года, и все работает отлично на наших локальных машинах. Когда мы отправляемся на развертывание веб-приложения на Server 2008, приложение работает нормально, пока мы не попытаемся добраться до отчета. Когда мы попадаем в отчет, мы получаем...
Could not load file or assembly 'log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=692fbea5521e1304' or one of its dependencies. The system cannot find the file specified.
Мы установили время выполнения CR2010, и файл log4net.dll версии 1.2.10.0 находится в GAC, поэтому мы не ссылаемся на него в приложении. Когда мы добавляем его в качестве ссылки, мы получаем эту ошибку независимо от того, где мы находимся в приложении, а не только на страницах отчета. Пожалуйста, помогите!
Ответы
Ответ 1
Я получил одно и то же сообщение об ошибке после случайной установки x86-версии отчетов Crystal Reports на машине x64.
Установка правильного x64-redist устранила проблему - http://downloads.businessobjects.com/akdlm/cr4vs2010/CRforVS_redist_install_64bit_13_0.zip
Ответ 2
Мы столкнулись с одной и той же проблемой, и оказалось, что в ней нет (в нашем случае) версии Crystal Reports redist (мы установили 32-разрядные версии на наших 64-битных машинах). Мы смогли исправить проблема заключалась в
Перейдите в свой виртуальный каталог Пул приложений → Дополнительные настройки → Установите Enable 32-Bit Applications
в True
и изменил режим управляемого конвейера от Classic до Integrated. После этого мы больше не получаем ошибок с отсутствующей dll log4net.
Ответ 3
Если у вас есть машина разработки x86, а ваш веб-сервер - это 64-разрядная машина, вы можете столкнуться с проблемой, обсуждаемой здесь:
http://social.msdn.microsoft.com/Forums/en-US/vscrystalreports/thread/546059a6-7179-4027-8f16-822ac6dc189a/
Visual Studio автоматически развертывает 32-битную log4net.dll на 64-битный веб-сервер, даже если вы не указали в своем проекте. Просто удалите файл log4net.dll из каталога bin после завершения развертывания, поскольку он не требуется для выполнения рабочей среды CR.
Ответ 4
У нас также была такая же проблема с установленной 64-разрядной версией. В нашем случае мы установили для параметра "Включить 32-разрядные приложения" значение "ЛОЖЬ" в свойствах расширенного пула приложений, и это решило проблему.
Ответ 5
Для меня у меня был проект VB Application, а в разделе "Параметры компиляции" у меня был выбран "Любой процессор" для Target CPU, и я также проверил "Предпочитаю 32-бит". Когда скомпилированное приложение запускалось на 64-битной машине, на которой была установлена только 64-разрядная версия x64, она могла сбой с этой ошибкой, поскольку она пыталась запустить 32-разрядное приложение и потребовала 32-битную рабочую среду. Отмена этой опции и перекомпиляция заставили ее работать правильно.
Ответ 6
Решил мои проблемы.
У меня есть 2 сервера NLB 2008 R2, мои IIS настроены на запуск в x32.
На одном сервере я установил x64 и x32 SAP redist, и у меня есть ошибка, на втором сервере работает только x32.
Чтобы получить первую работу на сервере, я удалил все версии и переустановил только x32, но запуск сервера начнется только после перезагрузки.
Bye