获取VS Package项目中的dte2或​​TeamFoundationServerExt对象?

我正在开发Visual Studio Package项目。 该项目需要连接到我们的TFS。 要读取当前连接,我需要TeamFoundationServerExt对象,我应该能够从dte2对象获取该对象。

现在我发现了数百个示例,其中大多数都使用了一个“_application”变量,它似乎自动填充,但当然不适用于“Visual Studio Package”项目类型。

如何获取当前运行的VS2010的TeamFoundationServerExt对象?

您应该能够从VSPackage执行以下操作以获取当前DTE对象:

DTE2 dte = ServiceProvider.GlobalProvider.GetService(typeof(SDTE)) as DTE2; 

如果您从GetService调用中获取null,您可能还需要检查您的包是否处于“Zombie”(即启动)状态 。