我有用C#编写的测试,这些测试是在自动TFS构建中运行的。其中一项测试需要管理员权限(访问证书),因此每次在自动构建/测试中都会失败。如果我以管理员身份运行visual studio,则测试通过。我已经尝试在构建服务器(运行Windows 7和TFS 2012)上禁用UAC,但它仍然不会自动提升。有没有办法指定测试需要以管理员身份运行(类似于app.manifest)?
答案 0 :(得分:0)
TFS构建服务在服务帐户下运行,构建和测试在此帐户的上下文中运行。为了以管理员身份运行单元测试,该帐户需要是计算机上管理员组的成员。
现在这样做有潜在的风险,因为构建服务会盲目地遵循msbuild给出的任何指令。
您可以将证书移入用户证书存储区而不是计算机存储区,但不确定这会对您尝试测试的代码产生什么影响。