获取解决方案的本地子文件夹的TFS映射文件夹?

Nam*_* VU 2 c# directory mapping tfs source-control-explorer

假设我们在TFS源代码控制中有一个已经映射到本地文件夹的解决方案SolutionFolder.

我们在这个子文件夹SubFolderSolutionFolder.我们如何编写C#代码来获取此映射路径SubFolder

jes*_*ing 5

使用WorkStation.Current以获取有问题的文件夹的信息:

导入以下命名空间:

using Microsoft.TeamFoundation.Client;
using Microsoft.TeamFoundation.VersionControl.Client;
Run Code Online (Sandbox Code Playgroud)

然后使用您可以获得您想要的数据:

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);
}
Run Code Online (Sandbox Code Playgroud)

从那里你可以轻松地抓住Workspace并从那里获取serverpath: workspace.GetWorkspace().GetServerItemForLocalItem()

要提供凭据,您可以使用接受a的其他重载之一CredentialsProvider.默认提供者是UICredentialsProvider.或者你也可以打电话serverprojectCollectionEnsureAuthenticated.

也可以看看: