【发布时间】:2017-12-17 04:23:01
【问题描述】:
我想知道,对于在“较新”工作室中扩展 Team Explorer 的支持是否发生了重大变化。我想在 Team Explorer 2017 的“待更改”页面中添加一个新部分。
根据here 的信息,我为这些东西实现了一个基类:
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 的实验版本不会在所需页面中显示任何新部分。
让我怀疑的是,您现在可以通过 Microsoft 的 NuGet 找到几乎所有需要的组件。如您所见,here 微软也通过 NuGet 支持 Team Explorer,但出于某种原因决定在 VS 2013 上停止它。另一个线索是官方VSIX-docu 不会对这种扩展发表任何评论。
这是否意味着不应再扩展 Team Explorer?
【问题讨论】:
-
扩展团队资源管理器的工作方式仍与以前的 Visual Studio 版本相同。您是否针对 15.0 版本的 Microsoft.TeamFoundation.Controls 程序集进行构建?请注意,您引用的 NuGet 包不是官方的 Microsoft 包。它是由用户创建和上传的。
-
我还在我为 VS 2012 构建的扩展团队资源管理器示例中提供了示例基类。您可以在此处找到:code.msdn.microsoft.com/windowsdesktop/…
-
@ChadB 谢谢。包作者是 Microsoft,但所有者是某个用户。项目站点链接到 MS 文档。但你是对的,他可能不是来自 MS。有时在 NuGet 上很难看到 :-)。
-
@ChadB 我会在 2017 年试用您的样品并返回结果。
-
ITeamExplorer* 接口存在于一个程序集中,该程序集的版本控制与主要的 VS 版本相匹配。这就是所有 TFS 程序集的版本控制方式。这意味着在新的主要 VS 版本中支持扩展需要针对更新的 TFS 程序集重新编译。否则,MEF 将不会发现该扩展,因为该类型的版本将是旧的。事后看来,冻结类型的版本会很好,但此时那艘船已经航行了。
标签: visual-studio tfs vsix team-explorer