2

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

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

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

1 回答 1

2

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

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

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

如果您能详细解释一下您尝试使用此代码完成的工作,我可能会为您指出要使用的不同 API。

于 2012-09-18T11:42:48.787 回答