以编程方式获取TFS团队项目的WebAccess的URL

时间:2013-01-22 12:54:50

标签: tfs tfs2010 tfs-sdk

我想获取特定TeamProject的Web访问页面的URL。

我使用调用GetHomeUrl(新的Uri(“MyprojectName”))的TswaClientHyperlinkService对象找到了一些示例,但是我无法为此提供正确的Uri值。也许我不明白如何格式化参数..

我知道如何获取webaccess的基本网址,但我想要访问特定团队项目集合中特定团队项目的页面。

1 个答案:

答案 0 :(得分:8)

事实证明,GetHomeUrl方法需要vsts://网址,而不是您通常使用的项目集合的网址。以下代码可用于获取Uri:

 var server = TfsConfigurationServerFactory.GetConfigurationServer(new Uri("http://localhost:8080/tfs" /* your tfs uri here */));
 server.Authenticate();

 var service = server.GetService<TswaClientHyperlinkService>();
 var projectCollection = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("http://localhost:8080/tfs/DefaultCollection"));
 var cssService = projectCollection.GetService<ICommonStructureService3>();
 var project = cssService.GetProjectFromName(/*YourProjectNameHere*/);

 var home = service.GetHomeUrl(new Uri(project.Uri));