2
我已經創建了用於在解決方案資源管理器的上下文菜單中添加新項目的簡單VS包。在這我需要檢查選定項目的項目類型GUID。我怎麼能得到這個。如何使用VS包在Solution Explorer中獲取所選項目的項目類型Guid
例如,One Solution包含三種不同類型的項目,如WindowFormsApplication,MVC Projects,WebApplication。在選擇MVC項目時,我們需要獲取該ProjectType GUID。
我已經試過了以下的我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;
}
在我得到GUID作爲 「FAE04EC0-301F-11D3-BF4B-00C04F79EFBC」 爲所有選定的項目。
任何人都可以幫助我嗎?
取自http://www.mztools.com/articles/2007/MZ2007016.aspx – Artiom 2014-01-20 10:19:08