我已经掌握了一个IVsHierarchy对象,我想要的信息是项目类型(WinForm,WPF,ASP等),语言(C#,VB,F#等)和调试配置(调试,发布, x86,amd64等)。获取此信息的可靠方法是什么?
我可以从IVsHierarchy获取EnvDTE.Project,它包含CodeModel.Language,Kind和ConfigurationManager.ActiveConfiguration等属性,但我不确定这些属性是否合适检查。例如,可能的语言值为following
vsCMLanguageCSharp Visual C#constant。
vsCMLanguageIDL Microsoft IDL常量。
vsCMLanguageMC Visual C ++常量。
vsCMLanguageVB Visual Basic常量。
vsCMLanguageVC Visual C ++常量。
这似乎是一个非常有限的列表,F#等语言在哪里?
项目种类更糟糕,唯一可能的值是prjKindCSharpProject,prjKindVBProject,prjKindVSAProject。是否有可能获得更详细的信息,如C#ASP,VB WPF等?
答案 0 :(得分:1)
好吧,http://www.mztools.com/articles/2008/mz2008017.aspx和How to Get Project Type Guid of selected project in the Solution Explorer by using VS Package让我对如何获取项目类型有了很好的了解,我也可以从中找出语言类型。 CodeModel似乎是错误的方法。