c# - 给定映射路径时 Workspace.DeleteMapping 方法抛出异常

标签 c# tfs tfs-sdk

我正在使用 TFS SDK。我在 Visual Studio 上使用 TFS 映射了一个项目。在我的代码中,我检查服务器路径和本地路径是否已映射?它们的值是 true,但是当我尝试删除映射路径时,workspace.DeleteMapping() 方法会抛出异常。

它显示“在[本地路径]中找不到任何映射”。但是workspace.IsLocalPathMapped(LocalFolder)方法返回true值?

WorkingFolder workfolder = new WorkingFolder(ServerFolder, LocalFolder);
workspace = workspaces[0];
if (workspace.IsServerPathMapped(ServerFolder) && workspace.IsLocalPathMapped(LocalFolder))
{
    workspace.DeleteMapping(workfolder);
}

最佳答案

IsServerPathMapped 和 IsLocalPathMapped 告诉您给定的服务器路径或本地路径是否位于某个工作区映射的下面(或等效路径)。例如,假设您设置了如下递归映射:

C:\dev\project -> $/TeamProject/Main

如果您在“$/TeamProject/Main/Solution/foo.cs”项上运行 IsServerPathMapped,它将返回 true,因为该文件位于您的递归映射之一下方。 IsServerPathMapped 函数询问“如果我执行 GetLatest,该文件是否会在我的工作区中”,答案是肯定的。

如果您能更多地解释一下您尝试使用此代码完成的任务,我也许可以向您指出要使用的不同 API。

关于c# - 给定映射路径时 Workspace.DeleteMapping 方法抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12471713/

相关文章:

c# - 这是什么类型的标记?

java - 等效于 Java 中的 C# 匿名方法?

c# - 为 .NET 4 和 .NET 4.5 构建整个解决方案并将文件复制到特定文件夹

TFS:这可能吗?

tfs - 更改 TFS 构建的位置

c# - TFS 2012 API : How do I get all history for a file including renames and merges?

c# - 使用 .NET 4.5 (System.IdentityModel)/WIF 解密 SAML 2 断言

c# - 在 C# 文件中设置 TFS 版本号

c# - 使用 TFS SDK 查询源代码管理权限时的性能问题

tfs - 在哪里可以找到 tfs 工作项的字段名称列表?