2011-02-28 117 views
1

我试图找到一个覆盖范围工具,我可以在一个非常有限的开发环境中使用,其中没有任何管理员权限。NET覆盖工具需要管理员权限?

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

什么覆盖率工具没有这个要求,或者有没有管理员权限运行的解决方法?

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

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

回答

2

profiler工具将需要一些东西。

环境变量

大多数覆盖工具使用.NET ProfilerAPI,因为它的执行检查托管代码。由于ProfilerAPI使用环境变量来确定是否启用了配置文件以及要使用哪个配置文件,覆盖率工具通常会在覆盖会话之前和之后写入这些环境变量。

用户可以在没有问题的情况下写入本地环境变量,但是如果该工具尝试写入系统级环境变量,则需要管理员权限。

注册表访问

一个环境变量是类标识符非托管分析器。如果该工具需要到注册表以获取此标识符,则需要管理员权限。

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

建议的解决方案是将dll注册为管理员。一旦注册,该工具就不需要执行这一附加步骤的权限。

+0

这是'预审'。现在我们来命名罪犯。 – 2011-03-01 18:43:39

0

我们的SD C# Test Coverage工具通常需要管理员权限才能安装。它不需要管理员权限来运行。对于其他SD测试覆盖工具和产品也是如此。

0

PartCover和OpenCover均支持每用户注册。即

相当于

REGSVR32/N/I:用户

0

NCover 3确实需要安装和许可证激活的管理权限,但在那之后,NCover不需要到配置文件在同一运行的应用程序的管理权限会话。

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