Не удалось загрузить файл или сборку 'log4net' или одну из ее зависимостей - PullRequest
4 голосов
/ 16 марта 2012

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

Моя ошибка:

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

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

Сведения об исключении: System.BadImageFormatException: Не удалось загрузить файл или сборку 'log4net' или одну из ее зависимостей. Была предпринята попытка загрузить программу с неверным форматом.

Ошибка источника:

При выполнении текущего веб-запроса было сгенерировано необработанное исключение. Информацию о происхождении и местонахождении исключения можно определить с помощью приведенной ниже трассировки стека исключений.

Трассировка загрузки сборки: следующая информация может помочь определить, почему сборка 'log4net' не может быть загружена.

Ответы [ 2 ]

7 голосов
/ 16 марта 2012

BadFormatImageException - это ошибка, которую вы получаете, когда ваша программа скомпилирована для 32-битной архитектуры и попытается загрузить 64-битную библиотеку или наоборот. От ошибки у вас есть ссылка на log4net (известная библиотека журналов).
Сначала , проверьте, для какого процессора вы создаете свое приложение (x86, x64, AnyCPU)
Второй , проверьте битность log4net (вы должны ссылаться на ту же битность ваших приложений)
Третий , проверьте, на какой ОС IIS работает. (если x64 и ваше приложение 32, установите для параметра «Включить 32-разрядные приложения» значение true в разделе расширенных настроек пула приложений)

1 голос
/ 16 марта 2012

"Была сделана попытка загрузить программу с неверным форматом."может быть потому, что некоторые из ваших библиотек 32-битные, а некоторые 64-битные.Другой причиной может быть то, что ваш сервер приложений настроен на 64-битную версию, а dll - 32-битные (или наоборот).

Сначала я проверю настройки IIS (это зависит от используемой версии IIS)затем проверьте, скомпилированы ли dll в 32-битные или 64-битные (из настроек myproject).

...