2012-04-13 8 views
2

TFSビルドを含むファイル共有を移動する必要があるため、ビルドのコレクションを通り抜けてドロップ位置を更新するコードを書きました。私はコードが何かを行ったことを知っています。私が2番目の実行でコードをデバッグすると、今度はドロップダウンに新しいuncパスが表示されるようになります。しかし、私がチームエクスプローラに入り、ビルドのために「ドロップ位置」をクリックすると、私は古い場所に移動します。ドロップされたTFSビルドの再配置

私には何が欠けていますか?

var buildServer = tpc.GetService<IBuildServer>(); 
         foreach (var build in buildServer.QueryBuilds(projectName)) 
         { 
          string newDropLocation = FixPath(build.DropLocation); 
          string newLogLocation = FixPath(build.LogLocation); 

          build.DropLocation = newDropLocation; 
          if(!String.IsNullOrEmpty(newLogLocation)) 
          { 
           build.LogLocation = newLogLocation; 
          } 
          build.Save(); 

          Console.WriteLine("------------"); 
          Console.WriteLine(newDropLocation); 
          Console.WriteLine(newDropLocationRoot); 
          Console.WriteLine(newLogLocation); 
         } 
+0

FWIW、FixPathは、\\ olderserver \ share \と\\ newserver \ share \ –

+0

のstring.replaceを実行するヘルパーメソッドです。新しいドロップ先ルートを更新しますか? –

+0

IBuildDetail.DropLocationRootは読み取り専用です。 DropLocationとLogLocationにはセッターがあります。 –

答えて

0

この機能は現在Community TFS Build Extensionsに組み込まれているようです。コミュニティTFSビルドマネージャには、既存のビルドの更新を検索して置き換える機能があります。

関連する問題