2013-04-26 263 views
2

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

回答

0

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

现在做这件事有潜在风险,因为构建服务将盲目地遵循由msbuild给予它的任何指示。

您可能将证书移入用户证书存储区,而不是该计算机存储区,但不知道这对您要测试的代码会产生什么影响。

+0

但是,正确的是,这些服务帐户通常是否有权访问系统证书存储区或从证书中使用私钥的能力? 对我来说,似乎很奇怪,没有办法让这项服务升级。 – 2013-05-03 17:11:09