Как я могу получить имя файла элемента?- Team Foundations SDK - PullRequest
0 голосов
/ 22 марта 2011

Я пытаюсь получить файл по имени из TFS. Я получаю все файлы из местоположения рекурсивно, а затем перебираю их, чтобы найти конкретный файл. Похоже, что объект VersionControl.Client.Item не раскрывает имя файла (или имя папки).

tfs.EnsureAuthenticated();
VersionControlServer vcs = versionControlServer)tfs.GetService(typeof(VersionControlServer));
var allStaticFiles = vcs.GetItems(path + "*", RecursionType.Full).Items;
foreach (var staticFile in allStaticFiles)
{
  if(staticFile == ?? // need the filename)
  {
  }

1 Ответ

2 голосов
/ 22 марта 2011

(Предполагается, что TFS2008.)

Тип vcs.GetItems(...).Items равен Item[].

Таким образом, поэтому staticFile является Item экземпляр.

Все свойства Item относятся ко всем сторонам сервера, поскольку детали пути будут зависеть от сопоставления рабочего пространства клиента (может быть несколько рабочих областей, включая этот элемент на одном компьютере, для одного и того же пользователя).).

Вы можете использовать Item.ServerItem, чтобы получить имя файла (взять последний элемент пути)

К пути получите Workspace экземпляр, представляющий ваше текущее рабочее пространство и использующий один из его методов для сопоставления ServerItem с локальным путем (есть несколько с немного другим поведением, без большего контекста не ясно, какой из них правильный).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...