我有一个Project
实例,但我不明白如何找出项目类型/语言。具体来说,我需要检查一个 C/C++ 项目。
文档似乎缺乏。
以前,另一个人在我的开源 VS 扩展中添加了以下魔法,它在 VS2013-2015 中有效:
private static bool isVisualCppProject(object project)
{
Type projectObjectType = project.GetType();
var projectInterface = projectObjectType.GetInterface("Microsoft.VisualStudio.VCProjectEngine.VCProject");
return projectInterface != null;
}
...
isVisualCppProject(project.Object);
但它不再适用于 VS 2017 RC。我很乐意摆脱这种运行时反射魔法和无类型object
,dynamic
而不是Project
- 代码已经因此变得无法维护。