通过 VSIX 扩展 Team Explorer 2015+

Extending Team Explorer 2015+ via VSIX

我想知道 "newer" Studio 中对扩展 Team Explorer 的支持是否发生了重大变化。我想在 Team Explorer 2017 的 "Pending Changes" 页面中添加一个新部分。

根据信息 here 我为这些东西实现了一个基础 class:

public class TeamExplorerBaseSection : TeamExplorerBase, ITeamExplorerSection { ... }

然后从中导出:

[TeamExplorerSection(SectionId, TeamExplorerPageIds.PendingChanges, 900)]
public class MyNewSectionSection : TeamExplorerBaseSection
{
    public const string SectionId = "8AAE3BBE-E5FE-4D9E-9244-EA86F67B8512";
}

这在 VS 2013 中没有任何问题。当我按 F5 时,至少 VS 2017 的实验版不会在所需页面中显示任何新部分。

让我怀疑的是,你现在可以通过微软的NuGet找到几乎所有需要的组件。如您所见,here Microsoft had support for Team Explorer via NuGet too but for some reason decided to stop it at VS 2013. Another clue is that the official VSIX-docu 不会对这种扩展发表任何评论。

这是否意味着不应再扩展 Team Explorer?

我的解决方案是从我的引用中删除名为 Microsoft.TeamFoundation.All 的 NuGet 包。这个包已经过时了,我没有注意到。

VSIX 的包情况让我有些恼火。我最终构建了自己的 NuGet 包,其中包含我需要的 VS 2015、VS 2017 等包。这样我就不会依赖于本地机器上的搜索和引用,因为我们正在使用 VSTS 作为一个团队工作。