(Это работает для других людей в моей команде, поэтому, скорее всего, это связано с настройкой моей машины.)
Я использую тестовый интерфейс NUnit GUI. Когда я использую File / Open Project для загрузки сборки теста, я получаю сообщение об ошибке.
Проект был построен с использованием Visual Studio 2005, и в окне About для Visual Studio версия платформы .NET имеет версию 2.0.50727 SP2.
Это ошибка, которую я получаю:
Сборка не загружена
System.BadImageFormatException: может
не загружать файл или сборку 'тесты,
Версия = 0.0.0.0, Культура = нейтральная,
PublicKeyToken = null 'или один из его
зависимостей. Была сделана попытка
загрузить программу с неверным
формат. Возможно, вы пытаетесь загрузить
сборка построена с более поздней версией
CLR, чем версия под
какой NUnit в настоящее время работает
(2.0.50727) или пытается загрузить
64-битная сборка в 32-битный процесс.
Я только что использовал Просмотр журнала привязки сборки (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.
Однако я до сих пор не знаю, как получить полезный набор журналов для логического отслеживания проблем такого типа.