Проблема с TFS VersionControlServer GetWorkspace, выбрасывающим ItemNotMappedException

У меня есть небольшой кусок кода, который постоянно терпит неудачу, когда я пытаюсь получить рабочее пространство.

        var tfs = new TfsTeamProjectCollection(new Uri("https://mytfs.com/projects"));
        var versionControlServer = tfs.GetService<VersionControlServer>();
        var workspace = versionControlServer.GetWorkspace(@"C:\MyProjects\ProjectA\BranchA");

Я проверил, что он отображается в TFS (знаете, работая в нескольких ветвях ProjectA в течение нескольких лет). Я также специально проверил сопоставление после того, как получил ItemNotMappedException, и каждый уровень сопоставлен (C:\MyProjects был явно сопоставлен, C:\MyProjects\ProjectA был явно сопоставлен, а c:\MyProjects\ProjectA\BranchA сопоставлен).

Независимо от того, какой вариант я передаю в versionControlServer.GetWorkspace(), он выдает эту ошибку.

Это степень моего кода TFS. У меня правильная коллекция проектов TFS (пару раз не получалось, пока я не нашел точный URL).

Просто чтобы вы знали, единственное, что я хочу сделать, это:

workspace.PendEdit(FilePath);

Это единственная команда TFS, которую мне нужно выполнить. Так что, если есть другой способ сделать это, я тоже открыт для этого.

Надеюсь, у кого-то есть ответ или предложение!

1 ответ

Решение

Ответ был ужасным, однако ссылка на Microsoft.TeamFoundation.VersionControl.Client по умолчанию была установлена ​​на Копировать локально: Истина, Определенная версия: Истина.

Несмотря на то, что у меня есть только одна версия этого dll в моей системе, и она копируется локально, когда я установил "Specific Version" в False, все просто волшебным образом сработало.

Я использую VS 2013 и DLL является V12.0.0.0

Другие вопросы по тегам