我正在尝试使用TFS API获取测试计划。
TfsTeamProjectCollection tfs = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("http://xxxxxxx:8080/tfs/DefaultCollection"));
var service = (ITestManagementService)tfs.GetService(typeof(ITestManagementService));
变量“service”始终返回null。
你知道吗,为什么?
答案 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的所有引用都为我修复了它。