6

我正在创建一个 Visual Studio 2010 扩展包 ( Microsoft.VisualStudio.Shell.Package),它需要分析所有项目和这些项目的引用。我会假设这是通过服务完成的(例如Package.GetService(typeof(IMenuCommandService)))。我需要的是包含获取项目列表和这些项目参考的功能的界面。此外,任何关于在哪里可以找到包含 Visual Studio 中可用界面的参考的建议都将不胜感激。

请注意,我见过很多人尝试使用宏中的 DTE 做类似的事情。这不是我想要做的。我正在尝试从 Visual Studio 扩展中做同样的事情。

4

1 回答 1

8

因此,即使您将其作为扩展的一部分,您仍然需要使用 DTE API 来获取所需的所有信息。它可能看起来倒退,但这就是它的工作原理。您应该通过(EnvDTE.DTE)Package.GetService(typeof(SDTE)). 拥有EnvDTE.Project后,访问它的 Object 成员并将其转换为VSLangProj.VSProject(如果它是 C# 或 VB 项目)。这有您需要的参考信息。

于 2012-05-13T17:59:01.347 回答