2011-10-14 56 views
0

當我使用-register選項Opencover我得到一個未處理的異常OpenCover -register參數導致未處理的異常

C:\hudson\jobs\SPIN.Accounts.AccountNode\workspace>"C:\Program Files (x86)\OpenCover\OpenCover.Console.exe" -target:"C:\Program Files (x86)\NUnit 2.5.10\bin\net-2.0\nunit-console.exe" -targetargs:"/noshadow mydll.dll" -output:"coverage-result.xml" -filter:"+[myNamespace]*" -register:user 

An exception occured: Object reference not set to an instance of an object. 
stack: at OpenCover.Framework.ProfilerRegistration.ExecuteRegsvr32(Boolean userRegistration, Boolean register, Boolean is64) 
    at OpenCover.Framework.ProfilerRegistration.ExecuteRegsvr32(Boolean userRegistration, Boolean register) 
    at OpenCover.Console.Program.Main(String[] args) 

我試過-register和-register:用戶和兩個給我同樣的錯誤。只有當我在詹金斯運行它時纔會發生這種情況。

因此,有人可以解釋-register參數的意義,以及我怎樣才能讓它在Jenkins中工作?謝謝。

更新:我不知道爲什麼-register參數在Jenkins中不起作用,但我最終註冊了Jenkins外的探查器,現在它可以工作。不理想,但至少有一個解決方法。仍然希望找到適當的解決方案。我不確定是否有其他人有這個問題,但也許值得GitHub上的一個小維基條目。

回答

0

jenkins是否在服務帳戶下運行?

如果是這樣,它有權限註冊一個COM對象?

-register:user選項用於沒有權限爲所有用戶註冊服務的帳戶,但AFAIK在作爲服務運行時不起作用。

在具有正確權限的帳戶下注冊性能分析器是正確的方法,對於其他CI系統(如TeamCity)也是如此。

相關問題