2012-10-02 14 views
5

Tôi đang cố gắng lấy kế hoạch kiểm tra bằng cách sử dụng API TFS.TFS API TestManagementService luôn trả về null

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

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

Biến "dịch vụ" luôn trả về giá trị rỗng.

Bạn có ý tưởng gì không, tại sao?

+0

tfs.GetService (typeof (WorkItemStore)) trả về đối tượng cửa hàng nhưng ItestManagementService trả về giá trị rỗng – cerezza

Trả lời

2

Có lẽ bạn đang liên kết với các phiên bản khác nhau của hội đồng tham chiếu, trộn các phiên bản khác nhau của nhóm Visual Studio? Ví dụ:

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

tôi đã cùng một vấn đề của GetService<ITestManagementService>() luôn trở về null, ngay cả khi GetService<VersionControlServer>() sẽ trở lại tốt (không null) giá trị.

Giải pháp được đăng trong MSDN - VersionControlServer always returns null có hiệu quả đối với tôi: Tôi đã tham khảo một số phiên bản v11.0 (VS2012) và v12.0 (VS2013). Thay đổi tất cả các tham chiếu đến v11.0 đã sửa nó cho tôi.

4

Hãy thử đảm bảo rằng bạn đã được xác thực vào Bộ sưu tập dự án nhóm trước khi gọi lệnh Dịch vụ nhận. Đoạn mã này hoạt động chính xác cho tôi:

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

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