Как мне исследовать ход сборки теста, отказывающейся загружаться в NUnit ?

(Это работает для других людей в моей команде, поэтому, вероятно, это как-то связано с настройкой моей машины.)

Я использую средство запуска тестов графического интерфейса пользователя NUnit. Когда я использую File / Open Project для загрузки тестовой сборки, я получаю сообщение об ошибке.

Проект был создан с помощью Visual Studio 2005, и в поле «О программе» Visual Studio для версии .NET framework указано 2.0.50727 SP2.

Это это ошибка, которую я получаю:

Сборка не загружена


System.BadImageFormatException: Could не загружать тесты файла или сборки, Версия = 0.0.0.0, Культура = нейтральный, PublicKeyToken = null 'или один из его зависимости. Была сделана попытка загрузить программу с неверным формат. Возможно, вы пытаетесь загрузить сборка, построенная на более поздней версии CLR, чем версия под какой NUnit в настоящее время работает (2.0.50727) или при попытке загрузить 64-битная сборка в 32-битный процесс.


Я только что использовал Assembly Binding Log Viewer (Fuslogvw.exe), чтобы посмотреть журнал слияния, это то, что показывает мне, что нет Я сказал, чтобы он смотрел на все переплеты.

*** Assembly Binder Log Entry  (05/11/2010 @ 11:55:26) ***

The operation was successful.
Bind result: hr = 0x0. The operation completed successfully.

Assembly manager loaded from:  C:\Windows\Microsoft.NET\Framework64\v2.0.50727\mscorwks.dll
Running under executable  C:\Program Files (x86)\NUnit 2.5.7\bin\net-2.0\nunit.exe
--- A detailed error log follows. 

=== Pre-bind state information ===
LOG: User = KSSRETAIL\ian.ringrose
LOG: DisplayName = System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
 (Fully-specified)
LOG: Appbase = file:///C:/Program Files (x86)/NUnit 2.5.7/bin/net-2.0/
LOG: Initial PrivatePath = NULL
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = nunit.exe
Calling assembly : nunit-gui-runner, Version=2.5.7.10213, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77.
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: C:\Program Files (x86)\NUnit 2.5.7\bin\net-2.0\nunit.exe.config
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework64\v2.0.50727\config\machine.config.
LOG: Post-policy reference: System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
LOG: Reusing an assembly instance that was previously loaded (C:\Windows\assembly\GAC_MSIL\System.Windows.Forms\2.0.0.0__b77a5c561934e089\System.Windows.Forms.dll).

Спасибо Лассе, который указал мне в правильном направлении. Когда я запускаю nunit-x86.exe, я могу загрузить тестовую DLL. Следовательно, где-то в системе должна быть 32-битная DLL. Однако я до сих пор не знаю, как получить полезный набор журналов для логического отслеживания этого типа проблемы.

5
задан Peter Mortensen 27 December 2010 в 09:46
поделиться