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

ulf*_*rdt 4 tfs tfs-sdk tfs2010

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

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

我知道如何获取webaccess的基本URL,但我想进入特定团队项目集合中特定团队项目的页面.

jes*_*ing 8

事实证明,该GetHomeUrl方法需要一个vsts://url,而不是您通常使用的项目集合的url.以下代码可用于获取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));
Run Code Online (Sandbox Code Playgroud)