2016-04-06 6 views
0

Ich arbeite an einer Lösung, wo ich Parameter aus einer Builddefinition per Code abrufen möchte. Wenn ich darauf stoße, erhalte ich die Fehlermeldung "Für Teamprojekt ToyStory mit Namen Spass-mit-Flaggen wurde keine Builddefinition gefunden."TFS kann BuildDefinition nicht finden

Failed Build

Der verwendete Code ist unten geschrieben:

var tfsCreds = new TfsClientCredentials(new WindowsCredential(), false); 
var tpc  = new TfsTeamProjectCollection(new Uri(options.CollectionUri), tfsCreds); 

var buildServer  = (IBuildServer)tpc.GetService(typeof(IBuildServer)); 
var buildDetail  = buildServer.GetBuild(new Uri(options.BuildUri)); 
var buildDefinition = buildServer.GetBuildDefinition(
         buildDetail.TeamProject, 
         options.BuildDefinition); 

Die Optionen Objekt alle Programmparameter enthält. In diesem Fall sind das folgende Zeichenfolgen:

options.CollectionUri == "http://tfs-test:8080/tfs/Test/" 
options.BuildUri  == "vstfs:///Build/Build/85" 
options.BuildDefiniton == "Spass-mit-Flaggen" 

Hat jemand eine Idee, was hier schief läuft?

Vielen Dank im Voraus

Antwort

3

Sie den alten SOAP-API für den Zugriff auf Builds. Das in TFS 2015 eingeführte neue Build-System verwendet kein SOAP-Messaging, es hat eine völlig separate REST-API. Sie müssen die REST-API verwenden, die als leicht konsumierbares Objektmodell unter NuGet verfügbar ist.