Мне нужно переместить общий ресурс файла, содержащий сборки TFS, поэтому я написал код, который просматривает коллекцию сборок и обновляет их местоположение. Я знаю, что код сделал что-то, потому что когда я отлаживаю код во втором запуске, droplocation теперь показывает новый путь unc. Однако, когда я захожу в командный проводник и нажимаю «drop location» для сборки, меня берут на прежнее место.Переместить Dropped TFS Builds
Что мне не хватает?
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);
}
FWIW, FixPath - это просто вспомогательный метод, который выполняет string.replace для \\ olderserver \ share \ и \\ newserver \ share \ –
Вы обновляете новый корень местоположения папок? –
IBuildDetail.DropLocationRoot доступен только для чтения. У DropLocation и LogLocation есть сеттеры. –