Получил LoaderExceptions при настройке specflow 1.9 для WindowsPhone
Я пытался следовать https://github.com/Expensify/WindowsPhoneTestFramework/wiki/Setting-up-a-new-BDD-machine
настроить Specflow на WindowsPhone.
У меня был установлен Specflow 1.8.1. поэтому сначала я удаляю 1.8.1 и устанавливаю плагин Specflow 1.9 на VS2010. При запуске Specflow. Я все еще получил следующее исключение.
[ОШИБКА] Добавьте два числа: невозможно загрузить один или несколько запрошенных типов. Получите свойство LoaderExceptions для получения дополнительной информации. System.Reflection.ReflectionTypeLoadException: невозможно загрузить один или несколько запрошенных типов. Получите свойство LoaderExceptions для получения дополнительной информации. в System.Reflection.RuntimeModule.GetTypes(модуль RuntimeModule) в System.Reflection.RuntimeModule.GetTypes() в System.Reflection.Assembly.GetTypes() в TechTalk.SpecFlow.Bindings.Discovery.RuntimeBindingRegistryBuilingsF Ассамблеи Сборка (сборка) сборки.SpecFlow.Infrastructure.TestExecutionEngine.Initialize (Assembly [] bindingAssemblies) в TechTalk.SpecFlow.TestRunner. (Ключ TestRunnerKey) в TechTalk.SpecFlow.TestRunnerManager.GetTestRunner (ключ TestRunnerKey) в TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(Assembly testAssembly, Boolean async) в TechTalk.SpecFlowete C:\source\PhoneApp1\ClassLibrary1\SpecFlowFeature1.feature.cs: строка 0 на TechTalk.SpecRun.Framework.TaskExecutors.StaticOrInstanceMethodExecutor.ExecuteInternal(TestThreadExecutionContext testThreadExecutionContext) в C:\TeamCity\buildAgent\ работы \1ace6ed01d0a43bb\TechTalk.SpecRun.Framework\TaskExecutors\StaticOrInstanceMethodExecutor.cs: линия 40 на TechTalk.SpecRun.Framework.TaskExecutors.StaticOrInstanceMethodExecutor.Execute(TestThreadExecutionContext testThreadExecutionContext) в c:\TeamCity\buildAgent\work\1ace6ed01d0a43bb\TechTalk.SpecRun.Framework\TaskExecutors\StaticOrInstanceMethodExecutor.cs: строка 21 на TechTalk.SpecRun.Framework.TaskExecutors.ChainedTread \ 1ace6ed01d0a43bb \ TechTalk.SpecRun..SpecRun.Framework \ TestThreadExecutor.cs: строка 220
Внутреннее исключение LoaderExceptions включает {"Не удалось загрузить файл или сборку" TechTalk.SpecFlow, Version=1.8.1.0, Culture= нейтральный, PublicKeyToken=0778194805d6db41'или одну из его зависимостей. Определение манифеста обнаруженной сборки не соответствует ссылке на сборку. (Исключение из HRESULT: 0x80131040)":"TechTalk.SpecFlow, версия = 1.8.1.0, культура = нейтральная, PublicKeyToken=0778194805d6db41"}
Я не знаю, почему он все еще загружает 1.8.1 SpecFlow сборки. Я удалил SpecFlow 1.8.1. Есть ли другое место, которое мне нужно изменить вручную?
Спасибо!
1 ответ
Похоже, что пакет WP7Test имеет зависимость от SpecFlow 1.8.1. Насколько я вижу в проекте github, он еще не был обновлен до SpecFlow 1.9.
SpecRun.SpecFlow 1.1 требует SpecFlow 1.9. (Это будет использоваться, если вы установите устаревший пакет SpecRun (1.0).)
Я думаю, что лучше всего было бы раскошелиться на проект WP7Test на github и обновить его для использования SpecFlow 1.9. После этого он также должен работать с последней версией SpecRun.
(Альтернативным способом было бы использовать пакет SpecRun.SpecFlow 1.0, который работает с SpecFlow 1.8.1 и также поддерживается интеграцией с SpecFlow 1.9 IDE.)