2012-05-02 2 views
2

Я написал класс оболочки для log4net. Этот класс-оболочка корректно работает с веб-приложением asp.net. И теперь я пытаюсь проверить методы класса оболочки с помощью NUNIT. В проекте класса оболочки я установил «Копировать локальную» в True для log4net DLL. И проект NUNIT, и класс оболочки используют log4net 1.2.10.0.не удалось выполнить nunit test мой класс оболочки log4net

Этот класс обертки работает правильно с моим отдельным веб-проектом asp.net, но некоторые из них не работают с моим проектом тестирования nunit.

Когда я пытаюсь запустить базовый тест, я получаю следующее исключение

System.BadImageFormatException: Не удалось загрузить файл или сборку «log4net, Version = 1.2.10.0, культура = нейтральной, PublicKeyToken = 692fbea5521e1304 'или одной из его зависимостей. Была предпринята попытка произвести загрузку программы с неправильным форматом.

Я бег этих испытаний в рамках Resharper для VS2010

UPDATE

Просто обновил свою обертку и тестовые проекты с log4net.dll версией 1.2.11.0 и каждая вещь начинает работать волшебно !! ! Я не знаю, как эта последняя версия исправляет эту проблему, где 1.2.10.0 не работает

+4

вы загружаете неправильный образ, как с помощью x64 на x86 архитектуре или наоборот –

+0

обновил мой вопрос. Почему этот log4net.dll работает с веб-проектом asp.net? пожалуйста, дай мне знать. –

+0

Если вы добавите ссылку на log4net из своего тестового проекта, она все равно даст вам ошибку? –

ответ

3

Кажется, вы загружаете 32-разрядную DLL в 64-разрядную систему. Вы должны построить свои тесты DLL, нацеленные на 32-битную архитектуру.

Процесс описан в существующем вопрос: Using a 32 bit dll on a 64 bit machine

+0

Почему этот класс оболочки с log4net (32-разрядная DLL) работает с моим веб-приложением asp.net? –

+0

возможно 32-разрядная совместимость включена в пуле приложений IIS (что делает 32-разрядные библиотеки DLL), или, может быть, log4net в порядке со своими битами, и есть еще одна DLL или приложение, которое повреждает 64-битную цепочку. Получали ли вы те же результаты с NUnit, например, чтобы протестировать другую среду? –

+0

Теперь его работа, пожалуйста, проверьте мое обновление. –

Смежные вопросы