Итак, вот полное описание проблемы, которую я имею:
Я пытаюсь использовать NUnit ExtensionMethods, но всякий раз, когда я запускаю тест, содержащий один из методов расширения, используя TestDriven.Net, или если я просто плоский попробуйте загрузить сборку с помощью графического интерфейса для тестирования (Icarus или NUnit). Я получаю исключение FileNotFoundException.
Устремляя голову к стене и копая дальше, я думаю, что знаю, что случилось. Cue рефлектор и yep, я вижу, что NUnit.Framework > ExtensionMethods.dll имеет ссылку на
nunit.framework, Version=2.4.6.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77
и моя текущая версия nunit, в которую я включаю,
nunit.framework, Version=2.4.8.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77
Теперь я никогда раньше не использовал перенаправление сборки, но похоже, что было бы просто добавить App.Config со следующими строками:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity
name="nunit.framework.dll"
publicKeyToken="96d09a1eb7f44a77" />
<bindingRedirect oldVersion="2.4.6.0" newVersion="2.4.8.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
и я понимаю, что обращения к версии 2.4.6 (которая не существует на этом компьютере) должны автоматически перенаправляться на версию 2.4.8.
Однако это не работает, и я подозреваю (но еще не подтвердил), что это связано с тем, что тестовые участники не автоматически считывают файлы app.config.
Итак, мой вопрос таков:
-
Я прав в своем диагнозе проблема?
-
Переадресация сборки подходящее решение, и я это правильно?
-
Как мне заставить это работать с тест-бегун?