假设我们在TFS源代码管理中有一个解决方案已经映射到本地文件夹SolutionFolder
。
我们位于此SubFolder
的子文件夹SolutionFolder
中。
我们如何编写C#代码来获取此SubFolder
的映射路径?
答案 0 :(得分:5)
使用WorkStation.Current
获取相关文件夹的信息:
导入以下命名空间:
using Microsoft.TeamFoundation.Client;
using Microsoft.TeamFoundation.VersionControl.Client;
然后使用您可以通过以下方式获取所需数据:
var workspace = Workstation.Current.GetLocalWorkspaceInfo(solutionFolder);
if (workspace != null)
{
var teamProjectUri = workspace.ServerUri;
// var server = TfsConfigurationServerFactory.GetConfigurationServer(teamProjectUri);
var projectCollection = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(teamProjectUri);
var cssService = projectCollection.GetService<ICommonStructureService4>();
var project = cssService.GetProjectFromName(solutionName);
}
从那里你可以轻松地抓住Workspace并从那里获取服务器路径:workspace.GetWorkspace().GetServerItemForLocalItem()
要提供凭据,您可以使用接受CredentialsProvider
的其他重载之一。默认提供程序是UICredentialsProvider
。或者,您也可以拨打server
或projectCollection
的{{3}}。
另见: