Package 的 GetService 方法在 vs2017 扩展中返回 null

GetService method of Package is returning null in vs2017 extension

我正在用 C# 创建一个 visual studio 2017 扩展用于未决更改。我从 here 那里得到了参考。 我正在尝试通过 GetService 方法获取实例。 但是每次我都将 teamExplorer 设置为 null。

Microsoft.TeamFoundation.Controls.ITeamExplorer teamExplorer;

            teamExplorer = base.GetService(typeof(Microsoft.TeamFoundation.Controls.ITeamExplorer))
               as Microsoft.TeamFoundation.Controls.ITeamExplorer;

有人可以帮助我吗?如何获取实例?

I am trying to get the instance via GetService method. But everytime I am getting teamExplorer as null.

方法太旧,使用GetService()方法无法得到你想要的。你可以试试我的实现步骤,我已经测试成功了。

1) 引用路径C:\Program Files (x86)\Microsoft Visual Studio17\xxxxx\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer.

下的Microsoft.TeamFoundation.Controls.dll

注意:您应该引用此文件夹中的相关 DLL,这些 API 适用于 Visual Studio 2017。

2) 改为使用这些代码:

    Microsoft.TeamFoundation.Controls.ITeamExplorer teamExplorer;

    teamExplorer= Package.GetGlobalService(typeof(Microsoft.TeamFoundation.Controls.ITeamExplorer))

    as Microsoft.TeamFoundation.Controls.ITeamExplorer;

希望对您有所帮助。