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

问题描述 投票:0回答:1

我正在使用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;

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

visual-studio-2017 visual-studio-extensions
1个回答
0
投票

我正在尝试通过GetService方法获取实例。但是每次我将teamExplorer设置为null。

该方法太旧,无法使用GetService()方法获得所需的内容。您可以尝试我的步骤来实现我已成功测试的功能。

1)在路径Microsoft.TeamFoundation.Controls.dll下引用C:\Program Files (x86)\Microsoft Visual Studio\2017\xxxxx\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer

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

2)更改为使用以下代码:

    Microsoft.TeamFoundation.Controls.ITeamExplorer teamExplorer;

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

    as Microsoft.TeamFoundation.Controls.ITeamExplorer;

希望它可以帮助您。

© www.soinside.com 2019 - 2024. All rights reserved.