Проблема с 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