C# Microsoft.VisualStudio.TeamFoundation参考文件在哪里?

C# Microsoft.VisualStudio.TeamFoundation参考文件在哪里?,c#,visual-studio,tfs,visual-studio-2013,visual-studio-extensions,C#,Visual Studio,Tfs,Visual Studio 2013,Visual Studio Extensions,因此,在VisualStudio扩展中,当按下菜单项时,我想检查团队资源管理器中的当前页面是什么 首先,我得到了ITeamExplorer对象: ITeamExplorer teamExplorer = (ITeamExplorer)this.GetService(typeof(ITeamExplorer)). 接下来,我要确保我在挂起的更改页面上 if(teamExplorer != null) { if(teamExplorer.currentPage is ???) {

因此,在VisualStudio扩展中,当按下菜单项时,我想检查团队资源管理器中的当前页面是什么

首先,我得到了ITeamExplorer对象:

ITeamExplorer teamExplorer = (ITeamExplorer)this.GetService(typeof(ITeamExplorer)).
接下来,我要确保我在挂起的更改页面上

if(teamExplorer != null) 
{
    if(teamExplorer.currentPage is ???)
    { 
        //Do stuff.
    }
}
现在,如果我在调试中运行这个,注释掉最后一个if部分,使其编译,打开团队资源管理器到挂起的更改页面,并在获得ITeamExplorer对象后中断,我可以检查它,并查看当前页面的类型是否为Microsoft.VisualStudio.TeamFoundation.VersionControl.PendingChanges.PendingChangesPageVS

但是我找不到任何引用,可以让我实际比较类型以确保页面的类型相同

Microsoft.VisualStudio是有效的。Microsoft.TeamFoundation是有效的。但没有Microsoft.VisualStudio.TeamFoundation。我检查了参考资料,看是否忘了包括它,但也不在那里

它藏在别的地方了吗?在一个nuget包里?也许在Team Foundation Server SDK中,我需要安装?

编辑1: 在C:\Program Files x86\Microsoft Visual Studio 12.0\Common7\IDE\PrivateSassemblies中找到dll。我想我需要看看引用私有程序集需要什么

编辑2:
将该dll复制到C:\Program Files x86\Microsoft Visual Studio 12.0\Common7\IDE\ReferenceAssemblies\v4.5中,允许我引用它。但是我觉得我在做一些我不应该做的事情。

所以,从我的回答中,我找到了参考。我将Microsoft.VisualStudio.TeamFoundation.VersionControl从C:\Program Files x86\Microsoft Visual Studio 12.0\Common7\IDE\PrivateSemblies复制到C:\Program Files x86\Microsoft Visual Studio 12.0\Common7\IDE\ReferenceAssemblies\v4.5,我可以引用它。我可能还可以通过浏览C:\ProgramFilesx86\MicrosoftVisualStudio12.0\Common7\IDE\PrivateSassemblies来包含dll

也就是说,我想要的类是内部的,所以这没有帮助。相反,我做了一些简单得多的事情,不需要dll。我刚刚使用了teamExplorer.CurrentPage.GetType.ToString,并将其与一个字符串进行了比较,该字符串比较了我所期望的Microsoft.VisualStudio.TeamFoundation.VersionControl.PendingChanges.PendingChangesPageVS.

仅供参考-

对于VS 2015,您可以通过导航到C:\Program Files x86\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer找到其位置。如果您转到那里,然后再转到一个目录,您将看到团队资源管理器是指向C:\Program Files x86\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\ftq4t4pd.guv(在我的例子中)的符号链接。因此,这就像是在扩展中提供DLL,而不是在产品中提供DLL,每当扩展更新时,它们都会更新指向它的符号链接。很奇怪


对于VS 2017,您可以导航到C:\Program Files x86\Microsoft Visual Studio\2017\Professional\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer,将Professional替换为您安装的任何版本。似乎VS 2017没有进行符号链接的事情。

你读过这篇文章吗:?我一直在读那个页面,扫描他们链接的一些页面。到目前为止,我还没有发现对这一特殊情况有用的东西。非常感谢,伙计!我花了两个小时思考他们从2013年开始改变了访问方式。他们只是没有把图书馆放在一个容易接近的地方。。。