给定映射路径时,Workspace.DeleteMapping方法会引发

时间:2012-09-18 06:48:43

标签: c# tfs tfs2010 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);
}

1 个答案:

答案 0 :(得分:2)

IsServerPathMapped和IsLocalPathMapped告诉您某个服务器路径或本地路径是下面(或等效于)其中一个工作空间映射。例如,假设你有一个递归映射设置如下:

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

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

如果您可以解释一下您尝试使用此代码完成的任务,我可能会指出您使用不同的API。