インスタンスがあり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
、このためにコードは既に保守できなくなっています。