OpenCover在64位TeamCity代理上运行

时间:2014-02-12 22:15:55

标签: teamcity opencover

我们正在将TeamCity代理从32位系统迁移到64位,并且由于OpenCover中的错误,一些构建开始失败。

这是堆栈跟踪:

  

E:/BuildAgent/work/7777662cc87ae003/tools/opencover/opencover.console.exe   -returntargetcode -target:E:/BuildAgent/work/7777662cc87ae003/tools/nunit/nunit-console.exe   -targetargs:“./ myTests.dll /framework=v4.0.30319 / noshadow / nologo / work = output /result:my-tests-results.xml”-filter:“+ [ something ] *    - [* something。 Test ] *“ - output:results.xml -register:user

     

[10:43:16] [执行测试:覆盖]发生异常:失败   register(user:True,register:True,is64:False):2分析器组件;   您可能希望查看权限或使用-register:user   相反的选择。 C:\ Windows \ system32 \ regsvr32.exe / s / n / i:user   “E:\ BuildAgent \工作\ 7777662cc87ae003 \工具\ opencover \ 86 \ OpenCover.Profiler.dll”

     

[10:43:16] [执行测试:覆盖] stack:at   OpenCover.Framework.ProfilerRegistration.ExecuteRegsvr32(布尔   userRegistration,布尔寄存器,布尔值为64)

     

[10:43:16] [执行测试:覆盖] at   OpenCover.Console.Program.Main(String [] args)

有趣的是: 1)我们正在使用' - register:user',如错误消息所示 2)虽然我们的新代理是64位系统,但例外表明寄存器方法被称为w

1 个答案:

答案 0 :(得分:3)

通过注册64位opencover profiler修复了这个问题:

regsvr32 /s \{ToolsFolder}\OpenCover\x64\OpenCover.Profiler.dll