1

我们正在将我们的 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 -注册:用户

[10:43:16][执行测试:覆盖]发生异常:注册失败(用户:真,注册:真,is64:假):2探查器程序集;您可能需要查看权限或使用 -register:user 选项。C:\Windows\system32\regsvr32.exe /s /n /i:user "E:\BuildAgent\work\7777662cc87ae003\tools\opencover\x86\OpenCover.Profiler.dll"

[10:43:16][执行测试:覆盖]堆栈:在 OpenCover.Framework.ProfilerRegistration.ExecuteRegsvr32(布尔用户注册,布尔寄存器,布尔 is64)

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

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

4

1 回答 1

3

通过注册 64 位 opencover 分析器修复了该问题:

regsvr32 /s \{ToolsFolder}\OpenCover\x64\OpenCover.Profiler.dll 
于 2014-02-12T22:31:16.033 回答