Почему для запуска Gallio требуется папка с именем GallioBundle-3.1.397.0 / bin? - PullRequest
3 голосов
/ 23 июня 2010

Я хочу запустить тесты MbUnit с Icarus и / или Echo без необходимости установки Gallio.Я скопировал все файлы из GallioBundle/bin в папку с именем Third Party/MbUnit в папке нашего проекта.

Когда я дважды щелкаю на Gallio.Icarus.exe, он не загружается и ничего не делает.

Когда я запускаю gallio.echo.exe из командной строки, я получаю следующую ошибку:

Время запуска: 13:07. Инициализация времени выполнения и загрузка плагинов.Время остановки: 13:07 (общее время выполнения: 0,313 секунды). Ошибка: произошло фатальное исключение.Gallio.Runtime.RuntimeException: Не удалось разрешить компонент для типа службы 'Gallio.Runner.Projects.ITestProjectManager', так как, по-видимому, отсутствуют какие-либо компоненты, зарегистрированные и включенные для этого типа службы.в Gallio.Runtime.Extensibility.RegistryServiceLocator.ResolveNonDisabledDescriptor (Тип serviceType) в c: \ RelEng \ Projects \ MbUnit v3.1 \ Work \ src \ Gallio \ Gallio \ Runtime \ Extensibility \ RegistryServiceLocator.all. at. 20: строка: 20Extensibility.RegistryServiceLocator.ResolveImpl (Тип serviceType) в каталоге c: \ RelEng \ Projects \ MbUnit v3.1 \ Work \ src \ Gallio \ Gallio \ Runtime \ Extensibility \ RegistryServiceLocator.cs: строка 161 в Gallio.Runtime.ExtenserLovetor.Retificationibility.Retificationв c: \ RelEng \ Projects \ MbUnit v3.1 \ Work \ src \ Gallio \ Gallio \ Runtime \ Extensibility \ RegistryServiceLocator.cs: строка 52 в Gallio.Runner.TestLauncher.RunWithRuntime () в c: \ RelEng \ Projects \ MbUnitv3.1 \ Work \ src \ Gallio \ Gallio \ Runner \ TestLauncher.cs: строка 511 в Gallio.Runner.TestLauncher.Run () в c: \ RelEng \ Projects \ MbUnit v3.1 \ Work \ src \ Gallio \ Gallio\ Runner \ TestLauncher.cs: строка 474 в Gallio.Echo.EchoProgram.RunTests (регистратор ILogger) в Gallio.Echo.EchoProgram.RunImpl (аргументы String []) в Gallio.Runtime.ConsoleSupport.ConsoleProgram`1.Run (консоль IRichConsole, аргументы String []) в каталоге c: \ RelEng \ Projects \ MbUnit v3.1 \ Work \ src \ Gallio \ Gallio \ Runtime \ ConsoleSupport \ ConsoleProgram.cs: строка 198

Однако, если я запускаю его из того места, где я разархивировал в моей папке d / l, по адресу:

Появляется интерфейс пользователя GallioBundle-3.1.397.0 / bin Icarus.Также ... gallio.echo не выдает ошибок, когда я запускаю его в командной строке.Это не имеет смысла для меня, но это так.

Почему Галлио не запускается из папки моего проекта?

Ответы [ 3 ]

3 голосов
/ 17 октября 2014

Имя папки не имеет значения.

При первом запуске Gallio сканирует плагины в папке и записывает их в файл XML в %LocalAppData%\Gallio\Plugin Metadata Cache. Если вы запускаете исполняемый файл в испорченной установке Gallio (например, некоторые файлы могут отсутствовать), Gallio кэширует это, и даже если вы позже исправите файлы, он по-прежнему считает, что установка не работает, потому что он видит кэшированное представление своих метаданных. , Когда вы перемещаете Gallio в другую папку, он воссоздает кеш для этой папки, и все начинает работать снова (при условии, что файлы на самом деле все есть).

Тогда нужно просто стереть папку Plugin Metadata Cache.

3 голосов
/ 24 июня 2010

Должно работать нормально.Галлио действительно не волнует, как называется папка.Вышеуказанная ошибка обычно появляется, когда некоторые файлы отсутствуют.

Другая попытка может состоять в том, чтобы запустить «Gallio.Utility.exe ResetInstallationId»

1 голос
/ 23 июля 2010

Кажется, что проблема связана с наличием двоичных файлов в папке с именем MbUnit. Когда я переименовал папку в Gallio, все стало работать правильно.

Разработчики Gallio сказали мне, что не могут продублировать это ... но это было непротиворечиво, и я даже переименовал папку обратно, и ошибка повторилась.

...