TFS API TestManagementService始终返回null

时间:2012-10-02 08:08:27

标签: tfs tfs2012 tfs-sdk

我正在尝试使用TFS API获取测试计划。

TfsTeamProjectCollection tfs = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("http://xxxxxxx:8080/tfs/DefaultCollection"));

var service = (ITestManagementService)tfs.GetService(typeof(ITestManagementService));

变量“service”始终返回null。

你知道吗,为什么?

2 个答案:

答案 0 :(得分:4)

在调用Get Service命令之前,请确保您已对Team Project Collection进行了身份验证。此代码段对我来说正常工作:

TfsTeamProjectCollection tpc = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("https://tfs.companyname.com/tfs/DefaultCollection"));
tpc.EnsureAuthenticated();

ITestManagementService service = tpc.GetService<ITestManagementService>();

答案 1 :(得分:2)

也许您正在链接不同版本的参考程序集,混合不同版本的Visual Studio程序集?示例:

  • Microsoft.TeamFoundation.Client v11.0(VS 2012)
  • Microsoft.TeamFoundation.TestManagement.Client v12.0(VS 2013)

我有同样的问题GetService<ITestManagementService>()总是返回null,即使GetService<VersionControlServer>()会返回良好(非空)值。

MSDN - VersionControlServer always returns null中发布的解决方案为我工作:我参考了一些v11.0(VS2012)和v12.0(VS2013)程序集。更改对v11.0的所有引用都为我修复了它。