在前面幾節介紹了怎樣讀取TFS服務器上的項目以及文件的信息,這一節將介紹怎麼創建服務器和本地的映射(Mapping)。c#
引用命名空間服務器
usingMicrosoft.TeamFoundation.Client;app
using Microsoft.TeamFoundation.VersionControl.Client;spa
工做區 是服務器的文件、目錄在客戶端的映像。當用戶對源代碼管理中的目標進行增長、編輯、刪除、移動、重命名,或者其餘操做時,用戶的修改會保留在工做空間中,標記爲工做空間中的「待定/未提交修改」(Pending Change)。這些修改只有被用戶簽入(Check In)後,服務器上的文件或目錄纔會跟着改變。orm
string tpcURL = "http://192.168.83.70:8080/tfs/platform"; TfsTeamProjectCollection tpc = new TfsTeamProjectCollection(new Uri(tpcURL)); VersionControlServer version = tpc.GetService(typeof(VersionControlServer)) as VersionControlServer; Workspace ws1 = version.CreateWorkspace("WorkSpaceTest1");//建立工做區 Workspace ws3 = version.CreateWorkspace("WorkSpaceTest2", Environment.UserName);//建立工做區,並指定用戶 //CreateWorkspace還有以下重載: //public Workspace CreateWorkspace(string name, string owner); //public Workspace CreateWorkspace(string name, string owner, string comment); //public Workspace CreateWorkspace(string name, string owner, string comment, WorkingFolder[] mappings); //public Workspace CreateWorkspace(string name, string owner, string comment, WorkingFolder[] mappings, string computer); //public Workspace CreateWorkspace(string name, string owner, string comment, WorkingFolder[] mappings, string computer, bool fixMappingErrors); //public Workspace CreateWorkspace(string name, string owner, string comment, WorkingFolder[] mappings, string computer, WorkspacePermissionProfile permissionsProfile, bool fixMappingErrors); Workspace[] wss = version.QueryWorkspaces(null, Environment.UserName, Environment.MachineName);//查詢工做區 // QueryWorkspaces(string workspaceName, string workspaceOwner, string computer); // 第一個參數能夠爲null,即查詢指定機器指定用戶下的全部工做區。也能夠查詢遠程機器上的。 foreach (var item in wss) { Console.WriteLine(item.Name); //工做區名稱 Console.WriteLine(item.OwnerName); //用戶 Console.WriteLine(item.DisplayName); //工做區顯示名稱 通常顯示格式爲:「工做區名稱;用戶」 Console.WriteLine(item.Computer); //機器名稱 Console.WriteLine(item); //機器名稱 } version.GetWorkspace("WorkSpaceTest"); //根據名稱獲取工做區 version.DeleteWorkspace("WorkSpaceTest1", Environment.UserName);//刪除工做區
string serverItem = "$/"; string localItem = "E:\\TFS62"; //聲明一個工做目錄,讓TFS服務器上的路徑客戶端路徑 對應起來。WorkingFolder 繼承 Mapping WorkingFolder wf = new WorkingFolder(serverItem, localItem); ws.CreateMapping(wf); //建立映射。咱們也能夠這樣: ws.Map(serverItem,localItem); ws.IsLocalPathMapped(serverItem); // 判斷指定服務端路徑是否映射到本地 ws.IsLocalPathMapped(localItem); // 判斷指定客戶端路徑是否映射到服務器 // 若是一個serverItem或localItem 以前已經映像過了能夠這樣獲取 WorkingFolder wf = ws.GetWorkingFolderForServerItem(serverPath); // 或者 WorkingFolder wf = ws.GetWorkingFolderForLocalItem(localPath); ws.DeleteMapping(wf); //刪除映射