2014-02-19 25 views
0

我想從C#觸發構建 在構建中我需要更改默認的BuildController。我的代碼如下所示:TFS在C中使用IBuildController#

IBuildRequest buildRequest = BuildDefinition.CreateBuildRequest(); 
if(changebuildcontroller) 
{ 
    buildRequest.DropLocation = @"\\zzz.Domain.com\yyy$\TFS\Drop"; 
    buildRequest.BuildController = **???**; 
} 
... 
var queuedBuild = buildServer.QueueBuild(buildRequest); 

問題:

  1. 我想知道如何找到buildcontrollers的列表。
  2. 有關如何理解TFS對象模型的任何建議將不勝感激。我查看了MSDN文章,如this,但我不明白它應該如何幫助我。我使用Google來查找Microsoft.TeamFoundation.Build.Client命名空間中其他對象的實現。
+0

列表出於好奇,爲什麼你想從應用程序觸發構建? –

+0

因爲我需要滿足業務需求;)構建需要由另一個平臺上的調度器觸發。我需要處理幾個其他任務,同時觸發多個構建。 – Jorn

回答

0

它幫助尋找另一項任務了一段時間:)

如果沒有其他人遇到同樣的問題,使用Ibuildserver對象來獲取IBuildController

buildServer = (IBuildServer)teamProjectCollection.GetService(typeof(IBuildServer)); 
IBuildController[] buildserverlist = buildServer.QueryBuildControllers();