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

Fer*_*roc 3 c# visual-studio-2010 vspackage tfs2010

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

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

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

Aar*_*ten 10

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

DTE2 dte = ServiceProvider.GlobalProvider.GetService(typeof(SDTE)) as DTE2;
Run Code Online (Sandbox Code Playgroud)

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