假设我们在 TFS 源代码控制中有一个解决方案,它已经映射到本地文件夹SolutionFolder
。
我们在SubFolder
this 的子文件夹中SolutionFolder
。我们如何编写 C# 代码来获取 this 的映射路径SubFolder
?
假设我们在 TFS 源代码控制中有一个解决方案,它已经映射到本地文件夹SolutionFolder
。
我们在SubFolder
this 的子文件夹中SolutionFolder
。我们如何编写 C# 代码来获取 this 的映射路径SubFolder
?
使用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.GetWorkspace().GetServerItemForLocalItem()
要提供凭据,您可以使用接受CredentialsProvider
. 默认提供程序是UICredentialsProvider
. 或者您也可以调用server
orprojectCollection
的EnsureAuthenticated
.
也可以看看: