API TFS: сопоставленное рабочее пространство всегда равно null

Предыстория вопроса:

Я пытаюсь выполнить следующий процесс, но в настоящее время не могу успешно сопоставить код TFS с указанной локальной папкой:

  1. Создайте временное рабочее место.
  2. Установите рабочее пространство temporay на диск C в папке с именем «BasicSccExample».
  3. Из переданного объекта с именем vssItem объедините его свойства VcQaFolder и Name, чтобы задать указанный путь к серверу TFS.
  4. Сопоставьте путь сервера TFS с локальным путем.
  5. Получите последний код с сервера TFS.
  6. Создайте папку с именем «sub» в папке «BasicSccExample».
  7. Создайте эту новую «базовую» папку.
  8. Проверьте различия между указанными локальными копиями файлов.
  9. Удалите временную рабочую область.

Код для выполнения вышеуказанного процесса:

Workspace workspace = tfServer.CreateWorkspace("BasicSccExample", tfServer.AuthorizedUser);

string topDir = null;

string result = null;

string localDir = @"c:\BasicSccExample";

string test = vssItem.VcQaFolder + "/"+vssItem.Name;

workspace.Map(test, localDir);

workspace.Get();

topDir = Path.Combine(workspace.Folders[0].LocalItem, "sub");

Directory.CreateDirectory(topDir);

var potentialDifference = Difference.DiffFiles(topDir, FileType.Detect(topDir, null), topDir, FileType.Detect(topDir, null), new DiffOptions());

result = potentialDifference.Next == null ? "Identical" : "Different";

workspace.Delete();

Ошибка:

Я всегда получаю нулевое исключение при попытке сравнить файлы, которые для целей тестирования на данный момент являются одним и тем же файлом. Причина этой ошибки в том, что указанная локальная папка на диске C, в которую также должен быть сопоставлен код, всегда пуста. Может ли кто-нибудь сказать мне, где я ошибаюсь?


person user1352057    schedule 27.12.2013    source источник


Ответы (1)


Разобрался с этим вопросом. Я пытался установить файл как папку.

Для всех, у кого есть похожие проблемы, убедитесь, что вы не совершаете ту же ошибку, и этот код работает.

Теперь я могу сопоставить указанный путь сервера TFS с указанным локальным путем.

Workspace workspace = tfServer.CreateWorkspace("TempDevWorkspace", tfServer.AuthorizedUser);

        string topDir = null;

        string localDir = @"c:\TempDevWorkspaceFolder";

        workspace.Map(tfsItem.VcDevFolder, localDir);

        workspace.Get();

        string directory = Path.Combine(workspace.Folders[0].LocalItem, null);
person user1352057    schedule 27.12.2013