我在TFS中有一个特定的工件,比如变更集"123",它有URI "vstfs:/// VersionControl/Changeset/123".我意识到链接" http:// tfs:8080/tfs/web/UI/Pages/Scc/ViewChangeset.aspx?changeset = 123 "将使用Web浏览器打开变更集详细信息视图.
我想做的是在visual studio中打开变更集详细信息视图.我嵌入它的地方是构建摘要中的自定义部分.我将此自定义部分实现为VisualStudio插件.这是一张图片:

"发布版本"部分是定制的,将提供有关一旦发布此类版本将发送给每个人的电子邮件的信息.
此部分内的Changeset 627是一个自动转换为链接的Button控件.按钮后面的"Click"-Handler可以正常工作.代码目前看起来像这样:
...
string link = buildDetailView.TeamProjectCollection.Uri.AbsoluteUri.Substring(0, buildDetailView.TeamProjectCollection.Uri.AbsoluteUri.LastIndexOf('/'));
link += "/web/UI/Pages/Scc/ViewChangeset.aspx?changeset=";
link += ((Button)sender).Content;
Process.Start(new ProcessStartInfo(link));
e.Handled = true;
...
Run Code Online (Sandbox Code Playgroud)
此代码将打开一个新的"浏览器"选项卡并显示正确的页面.但是,我希望它在Visual Studio中打开变更集细节.就像"Associated Changesets"部分底部的按钮一样.当您单击"Changeset 627"链接时,它将在Visual Studio中打开该更改集.
编辑1
如果我发布它的图片,可能会更准确地说明期望的结果是什么.我希望使用API打开"更改集详细信息"窗口.

我正在开发Visual Studio Package项目.该项目需要连接到我们的TFS.要读取当前连接,我需要TeamFoundationServerExt对象,我应该能够从dte2对象获取该对象.
现在我发现了数百个示例,其中大多数都使用了一个"_application"变量,它似乎自动填充,但当然不适用于"Visual Studio Package"项目类型.
如何获取当前运行的VS2010的TeamFoundationServerExt对象?