c# - 在 VS Package 项目中获取 dte2 或 TeamFoundationServerExt 对象?

标签 c# visual-studio-2010 vspackage

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

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

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

最佳答案

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

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

您可能还需要检查您的包裹是否不在 a "Zombie" (i.e. starting up) state 中以防您从 GetService 调用中得到 null。

关于c# - 在 VS Package 项目中获取 dte2 或 TeamFoundationServerExt 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4955009/

相关文章:

c# - 编译器歧义调用错误-具有Func <>或Action的匿名方法和方法组

visual-studio-2010 - 我已经在 Irony 中创建了我的第一门语言,现在如何将它导入 Visual Studio 2010?

c# - 如何通过 VSPackage 取消 ToolWindowPane 或 Visual Studio IDE 关闭操作?

visual-studio-2010 - 修改底层文件后,如何以编程方式刷新/重新加载 VS 项目?

.net - 检测 VSPackage 中的 Visual Studio 版本

c# - protobuf-net 消息序列化大小属性

c# - 替换 AppDomain.GetCurrentThreadId();使用 ManagedThreadId

c# - 只读语句上的 Entity Framework 死锁受害者

visual-studio-2010 - 适用于 .NET 4.0 的 FxCop

c++ - 错误: ambiguous call to overloaded function