TFS VersionControlServer GetWorkspace 抛出 ItemNotMappedException 的问题

Issue with TFS VersionControlServer GetWorkspace throwing 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 命令。所以如果有其他方法可以做到这一点,我也愿意接受。

希望有人能给出答案或建议!

答案很可怕,但是,默认情况下对 Microsoft.TeamFoundation.VersionControl.Client 的引用设置为复制本地:True,特定版本:True。

即使我的系统上只有这个 dll 的一个版本并且正在本地复制,当我将 "Specific Version" 设置为 False 时,一切都神奇地工作了。

我使用的是 VS 2013,dll 是 V12.0.0.0