我正在创建一个Visual Studio 2010扩展包(Microsoft.VisualStudio.Shell.Package
),需要分析所有项目和项目的引用。我认为这是通过服务完成的(例如Package.GetService(typeof(IMenuCommandService))
)。我需要的是包含获取项目列表和这些项目参考的功能的接口。此外,我们非常感谢任何关于在哪里找到包含visual studio中可用接口的引用的建议。
请注意,我已经看到多个人尝试使用宏中的DTE做类似的事情。那不是我想要做的。我正在尝试从Visual Studio扩展中执行相同的操作。
答案 0 :(得分:7)
因此,即使您将此作为扩展的一部分,您仍然需要使用DTE API来获取所需的所有信息。它可能看起来倒退,但这就是它的工作原理。您应该通过(EnvDTE.DTE)Package.GetService(typeof(SDTE))
获取DTE对象。获得EnvDTE.Project后,访问它的Object成员并将其转换为VSLangProj.VSProject(如果它是C#或VB项目)。这有您需要的参考信息。