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

时间:2011-02-10 08:53:51

标签: c# visual-studio-2010 tfs2010 vspackage

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

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

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

1 个答案:

答案 0 :(得分:10)

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

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

如果您从GetService调用中获取null,则可能还需要检查您的包是否在a "Zombie" (i.e. starting up) state中。