Microsoft.VisualStudio.TeamFoundation 参考在哪里



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

所以,首先我得到 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 包中? 也许在我需要安装的团队基础服务器 SDK 中?

编辑 1:

在 C:\Program Files (x86(\Microsoft Visual Studio 12.0\Common7\IDE\PrivateAssemblies 中找到了 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.0Common7IDEPrivateAssemblies复制到C:Program Files (x86)Microsoft Visual Studio 12.0Common7IDEReferenceAssembliesv4.5,我可以引用它。 我可能也可以通过浏览到 C:Program Files (x86)Microsoft Visual Studio 12.0Common7IDEPrivateAssemblies 来包含 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,而是将它们以扩展形式交付,每当扩展更新时,他们都会更新该符号链接以指向它。很奇怪。

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

相关内容

  • 没有找到相关文章

最新更新