2012-02-27 20 views

答えて

2

これは、これまで(試行錯誤を経ています)私のために働いているようです。ここで

try 
{ 
    var def = buildServer.GetBuildDefinition(
     teamProject, buildDefinition.Name, QueryOptions.Definitions); 
    buildServer.DeleteBuilds(def.QueryBuilds()); 
    def.Delete(); 
} 
catch (Microsoft.TeamFoundation.Build.Client.BuildDefinitionNotFoundException) 
{ 
    // didn't exist, so do nothing.. 
} 
+1

(フォルダのみをドロップする)特定のビルドを指定することができます。しかし、私はあなたがそのアックスに注意する必要があることを強調しなければならない:あなたは本当にあなたが必要なビルドの定義で上記を呼びたくない! – pantelif

+0

@pantelif::)間違いありません。もちろん、私がこの特定のベンチャーで成功すれば、私はそれらをすべて自動的に生成するので、誤って削除されてもそれほど気にしません。私たちは現在、40人ほどを維持しています - クライアントx配備サイトx支店...それは悲惨です。 –

1

あなたはおそらく、それは他の場所で利用できない情報を提供しないことを右の再私は「あなたがいるので、あなたの答えをupvoted」VEの

var bs = tpc.GetService<IBuildServer>(); 
var bSpec = bs.CreateBuildDetailSpec(projectName, buildDefinitionName); 
bSpec.QueryOptions = QueryOptions.None; 
bSpec.InformationTypes = null; 
bSpec.QueryDeletedOption = QueryDeletedOption.ExcludeDeleted; 

var targetBuild = bs.QueryBuilds(bSpec).Builds.Where(b => b.Uri == build.Uri).ToArray(); 
bs.DeleteBuilds(targetBuild, DeleteOptions.DropLocation); 
関連する問題