【问题标题】:Where is the Microsoft.VisualStudio.TeamFoundation reference?Microsoft.VisualStudio.TeamFoundation 参考在哪里?
【发布时间】:2015-02-10 10:55:31
【问题描述】:

所以在 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包中?也许我需要在 Team Foundation Server 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 允许我引用它。但我觉得我在做我不应该做的事情。

【问题讨论】:

标签: c# visual-studio tfs visual-studio-2013 visual-studio-extensions


【解决方案1】:

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

话虽如此,我想要的课程是内部的,所以没有帮助。相反,我做了一些不需要 dll 的简单得多的事情。我刚刚使用了teamExplorer.CurrentPage.GetType().ToString(),并将它与一个字符串进行了比较,该字符串比较了我期望的类名("Microsoft.VisualStudio.TeamFoundation.VersionControl.PendingChanges.PendingChangesPageVS")。

【讨论】:

  • 非常感谢!我花了 2 个小时想他们改变了从 2013 年开始访问它的方式。他们只是没有将图书馆放在可访问的位置......
【解决方案2】:

仅供参考-

对于 VS 2015,您可以通过导航到 C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer 找到它的位置。如果你去那里然后上一个目录,你会看到 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 似乎没有进行符号链接的事情。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-31
    • 2013-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多