我有用C#编写的测试,这些测试在自动TFS构建中运行。其中一项测试需要管理员权限(以访问证书),因此每次自动构建/测试均失败。如果我以管理员身份运行Visual Studio,则测试通过。我曾尝试在构建服务器(运行Windows 7和TFS 2012)上禁用UAC,但是它仍然不会自动提升。有什么方法可以指定测试需要以管理员身份运行(类似于app.manifest)?

最佳答案

TFS构建服务在服务帐户下运行,构建和测试在该帐户的上下文下运行。为了以管理员身份运行单元测试,该帐户必须是计算机上管理员组的成员。

现在这样做有潜在的风险,因为生成服务将盲目地遵循msbuild为其提供的任何说明。

您可以将证书移至用户证书存储区,而不是计算机存储区,但是不确定这将对您要测试的代码产生什么影响。

关于c# - TFS/MSTest管理员特权,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16236450/

10-13 08:07