我想获取特定TeamProject的Web访问页面的URL。
我使用调用GetHomeUrl(新的Uri(“MyprojectName”))的TswaClientHyperlinkService对象找到了一些示例,但是我无法为此提供正确的Uri值。也许我不明白如何格式化参数..
我知道如何获取webaccess的基本网址,但我想要访问特定团队项目集合中特定团队项目的页面。
答案 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));