为什么Gallio似乎需要在名为GallioBundle-3.1.397.0 / bin的文件夹中运行

时间:2010-06-23 17:16:58

标签: continuous-integration build-automation mbunit gallio

我想用Icarus和/或Echo运行MbUnit测试而无需安装Gallio。我已将GallioBundle/bin中的所有文件复制到项目文件夹中名为Third Party/MbUnit的文件夹中。

当我双击Gallio.Icarus.exe时,它无法加载或执行任何操作。

当我从命令行运行gallio.echo.exe时,出现以下错误:

  

开始时间:下午1:07   初始化运行时和加载插件。   停止时间:下午1:07(总执行时间:0.313秒)   错误:发生致命异常。   Gallio.Runtime.RuntimeException:无法解析服务类型“Gallio.Runner.Projects.ITestProjectManager”的组件,因为似乎没有为该服务类型注册和启用任何组件。      at Gallio.Runtime.Extensibility.RegistryServiceLocator.ResolveNonDisabledDescriptor(Type serviceType)在c:\ RelEng \ Projects \ MbUnit v3.1 \ Work \ src \ Gallio \ Gallio \ Runtime \ Extensibility \ RegistryServiceLocator.cs:第202行      at Gallio.Runtime.Extensibility.RegistryServiceLocator.ResolveImpl(Type serviceType)在c:\ RelEng \ Projects \ MbUnit v3.1 \ Work \ src \ Gallio \ Gallio \ Runtime \ Extensibility \ RegistryServiceLocator.cs:第161行      位于c:\ RelEng \ Projects \ MbUnit v3.1 \ Work \ src \ Gallio \ Gallio \ Runtime \ Extensibility \ RegistryServiceLocator.cs中的Gallio.Runtime.Extensibility.RegistryServiceLocator.ResolveTService:第52行      在Gallio.Runner.TestLauncher.RunWithRuntime()在c:\ RelEng \ Projects \ MbUnit v3.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 logger)      在Gallio.Echo.EchoProgram.RunImpl(String [] args)      在Gallio.Runtime.ConsoleSupport.ConsoleProgram`1.Run(IRichConsole控制台,String [] args)中的c:\ RelEng \ Projects \ MbUnit v3.1 \ Work \ src \ Gallio \ Gallio \ Runtime \ ConsoleSupport \ ConsoleProgram.cs:第198行

但是,如果我从我在d / l文件夹中解压缩的地方运行它:

  

GallioBundle-3.1.397.0 / bin Icarus UI出现了。另外......当我在命令行运行时,gallio.echo没有错误。这对我来说毫无意义,但确实如此。

为什么Gallio不会从我项目的文件夹中运行?

3 个答案:

答案 0 :(得分:3)

应该可以正常工作。 Gallio真的不关心文件夹的调用。 当某些文件丢失时,通常会出现上述错误。

尝试的另一件事可能是运行“Gallio.Utility.exe ResetInstallationId”

答案 1 :(得分:3)

文件夹的名称无关紧要。

首次运行时,Gallio会扫描文件夹中的插件并将其写入%LocalAppData%\Gallio\Plugin Metadata Cache中的XML文件。如果你在Gallio的破坏安装中运行可执行文件(例如某些文件可能丢失),Gallio会缓存这个,即使你以后修复了文件,它仍然认为安装已经破坏,因为它看到了其元数据的缓存视图。当您将Gallio移动到另一个文件夹时,它会重新创建该文件夹的缓存,并且事情会再次开始工作(前提是文件实际上都在那里)。

然后修复只是擦除Plugin Metadata Cache文件夹。

答案 2 :(得分:1)