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