NET Coverage工具需要管理员权限吗?

时间:2011-02-28 09:13:49

标签: .net unit-testing continuous-integration code-coverage

我正在尝试找到一个可以在非常严格的开发环境中使用的覆盖工具,其中没有人拥有管理员权限。

哪些NET覆盖工具需要管理员权限才能运行?

哪些承保工具没有此要求,或者在没有管理员权限的情况下运行变通办法?

据我所知,NCover需要管理员权限才能运行,其他框架呢? (DotCover,语义设计,Partcover,Visual Studio覆盖)

请分享您的经验,在此主题的各种工具的文档中找到任何内容都不容易。

4 个答案:

答案 0 :(得分:2)

分析器工具需要一些东西。

环境变量

大多数覆盖工具使用.NET ProfilerAPI检查托管代码的执行情况。由于ProfilerAPI使用环境变量来确定是否启用了性能分析以及要使用的分析器,因此coverage工具通常会在覆盖会话之前和之后写入这些环境变量。

用户可以毫无问题地写入本地环境变量,但如果该工具尝试写入系统级环境变量,则需要管理员权限。

注册表访问

其中一个环境变量是非托管探查器的类标识符。如果该工具需要转到注册表来获取此标识符,则需要管理员权限。

另一个考虑因素是某些工具在覆盖会话之前注册非托管COM dll,以便与.net xcopy部署策略良好配合。 Old versions of NCover used to do this

建议的解决方案是以管理员身份注册dll。注册后,该工具不应要求执行此额外步骤的权限。

答案 1 :(得分:0)

我们的SD C# Test Coverage工具通常需要管理员权限才能安装。它不需要管理员权限来运行。与其他SD测试覆盖率工具和产品类似。

答案 2 :(得分:0)

PartCover和OpenCover都支持每用户注册。即相当于

regsvr32 / n / i:用户

答案 3 :(得分:0)

NCover 3确实需要管理员权限才能进行安装和许可证激活,但在此之后,NCover将不需要管理员权限来分析在同一会话中运行的应用程序。

当覆盖IIS或Windows服务时,NCover将需要管理员权限,因为这些会启动单独的会话。