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 は、特定のサーバー パスまたはローカル パスがワークスペース マッピングの 1 つの(または同等) にあるかどうかを示します。たとえば、再帰マッピングが次のように設定されているとします。

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

アイテム「$/TeamProject/Main/Solution/foo.cs」で IsServerPathMapped を実行すると、そのファイルが再帰マッピングの 1 つの下にあるため、true が返されます。IsServerPathMapped 関数は、「GetLatest を実行すると、このファイルは自分のワークスペースにありますか」と尋ねていますが、ここでは答えは「はい」です。

このコードで何を達成しようとしているのかについてもう少し説明していただければ、使用するさまざまな API を紹介できるかもしれません。

于 2012-09-18T11:42:48.787 に答える