Abrufen der Projekttyp-Übersicht des ausgewählten Projekts im Projektmappen-Explorer mithilfe von VS Package
Ich habe das einfache VS-Paket zum Hinzufügen eines neuen Elements im Kontextmenü des Solution Explorers erstellt. Dazu muss ich die Projekttyp-GUID des ausgewählten Projekts überprüfen. Wie kann ich das bekommen.
Beispielsweise enthält One Solution die drei verschiedenen Projekttypen, z. B. WindowFormsApplication, MVC Projects und WebApplication. Während Sie die MVC-Projekte auswählen, müssen Sie diese ProjectType-GUID abrufen.
Ich habe Folgendes in meinem Package.cs ausprobiert:
<code>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; } </code>
Dabei erhalte ich für alle ausgewählten Projekte die GUID "FAE04EC0-301F-11D3-BF4B-00C04F79EFBC".
Könnte mir bitte jemand dabei helfen?