3

我想使用 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”的组件,因为似乎没有为该服务类型注册和启用任何组件。在 Gallio.Runtime.Extensibility.RegistryServiceLocator.ResolveNonDisabledDescriptor(Type serviceType) in c:\RelEng\Projects\MbUnit v3.1\Work\src\Gallio\Gallio\Runtime\Extensibility\RegistryServiceLocator.cs:Gallio.Runtime 的第 202 行。 Extensibility.RegistryServiceLocator.ResolveImpl(Type serviceType) in c:\RelEng\Projects\MbUnit v3.1\Work\src\Gallio\Gallio\Runtime\Extensibility\RegistryServiceLocator.cs:line 161 at Gallio.Runtime.Extensibility。

但是,如果我从 d/l 文件夹中解压缩到的位置运行它:

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

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

4

3 回答 3

3

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

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

于 2010-06-23T23:42:55.417 回答
3

文件夹的名称无关紧要。

首次运行时,Gallio 会扫描文件夹中的插件并将它们写入 .xml 格式的 XML 文件%LocalAppData%\Gallio\Plugin Metadata Cache。如果您在 Gallio 的损坏安装中运行可执行文件(例如,某些文件可能丢失),Gallio 会缓存此文件,即使您稍后修复文件,它仍然认为安装已损坏,因为它会看到其元数据的缓存视图. 当您将 Gallio 移动到另一个文件夹时,它会为该文件夹重新创建缓存,然后一切又开始工作(假设文件实际上都在那里)。

然后解决方法是简单地擦除Plugin Metadata Cache文件夹。

于 2014-10-17T12:43:08.457 回答
1

似乎将二进制文件放在名为 MbUnit 的文件夹中会导致问题。当我将文件夹重命名为 Gallio 时,一切都开始正常工作。

Gallio 开发人员告诉我他们不能复制这个......但它是一致的,我什至将文件夹重命名,并且错误再次出现。

于 2010-07-23T17:18:40.620 回答