我想用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不会从我项目的文件夹中运行?
答案 0 :(得分:3)
应该可以正常工作。 Gallio真的不关心文件夹的调用。 当某些文件丢失时,通常会出现上述错误。
尝试的另一件事可能是运行“Gallio.Utility.exe ResetInstallationId”
答案 1 :(得分:3)
文件夹的名称无关紧要。
首次运行时,Gallio会扫描文件夹中的插件并将其写入%LocalAppData%\Gallio\Plugin Metadata Cache
中的XML文件。如果你在Gallio的破坏安装中运行可执行文件(例如某些文件可能丢失),Gallio会缓存这个,即使你以后修复了文件,它仍然认为安装已经破坏,因为它看到了其元数据的缓存视图。当您将Gallio移动到另一个文件夹时,它会重新创建该文件夹的缓存,并且事情会再次开始工作(前提是文件实际上都在那里)。
然后修复只是擦除Plugin Metadata Cache
文件夹。
答案 2 :(得分:1)