2012-10-02 6 views
5

Ich versuche, Testpläne mithilfe der TFS-API zu erhalten.TFS-API TestManagementService gibt immer Null zurück

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

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

Die Variable "Service" gibt immer null zurück.

Haben Sie eine Idee, warum?

+0

tfs.GetService (typeof (WorkItemStore)) gibt das Speicherobjekt zurück, ItestManagementService gibt jedoch null zurück – cerezza

Antwort

2

Vielleicht sind Sie Verknüpfung mit verschiedenen Versionen von Referenz Baugruppen, verschiedene Versionen von Visual Studio Baugruppen Mischen? Beispiel:

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

hatte ich das gleiche Problem von GetService<ITestManagementService>() immer null zurückkehrt, auch wenn GetService<VersionControlServer>() gut zurückkehren würde (Nicht-Null) Wert.

Die Lösung, die in MSDN - VersionControlServer always returns null veröffentlicht wurde, funktionierte für mich: Ich hatte Verweise auf einige v11.0 (VS2012) und v12.0 (VS2013) Baugruppen. Das Ändern aller Referenzen auf v11.0 hat es für mich behoben.

4

Stellen Sie sicher, dass Sie für die Team Project Collection authentifiziert sind, bevor Sie den Befehl "Service abrufen" aufrufen. Dieser Code-Schnipsel funktioniert für mich richtig:

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

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