ソリューションエクスプローラーのコンテキストメニューに新しいアイテムを追加するためのシンプルなVSパッケージを作成しました。その中で、選択したプロジェクトのプロジェクトタイプGUIDを確認する必要があります。どうすればこれを入手できますか。
たとえば、One Solutionには、WindowFormsApplication、MVC Projects、WebApplicationなどの3つの異なるタイプのプロジェクトが含まれています。MVCプロジェクトを選択するときに、そのProjectTypeGUIDを取得する必要があります。
Package.csで次のことを試しました。
IVsMonitorSelection monitorSelection = (IVsMonitorSelection)Package.GetGlobalService(typeof(SVsShellMonitorSelection));
monitorSelection.GetCurrentSelection(out hierarchyPtr, out projectItemId, out mis, out selectionContainerPtr);
IVsHierarchy hierarchy = Marshal.GetTypedObjectForIUnknown(hierarchyPtr, typeof(IVsHierarchy)) as IVsHierarchy;
if (hierarchy != null)
{
object prjItemObject;
hierarchy.GetProperty(projectItemId, (int)__VSHPROPID.VSHPROPID_ExtObject, out prjItemObject);
string projectTypeGuid;
Project prjItem = prjItemObject as Project;
projectTypeGuid = prjItem.Kind;
}
その中で、選択したすべてのプロジェクトに対して「FAE04EC0-301F-11D3-BF4B-00C04F79EFBC」としてGUIDを取得します。
誰かが私にこれを手伝ってくれませんか?