2012-08-23 34 views
2

我無法爲網站項目項添加上下文菜單條目。如何在網站項目中添加上下文菜單條目?

如何重現該問題:

  1. 創建一個VS包項目
  2. 轉到vsct文件,並替換groups部分具有:

    <Group guid="guidVSPackage1CmdSet" id="MyMenuGroup" priority="0x0600"> 
        <Parent guid="guidSHLMainMenu" id="IDM_VS_MENU_TOOLS"/> 
    </Group> 
    
    <Group guid="guidVSPackage1CmdSet" id="MyMenuGroup" priority="0x0600"> 
        <Parent guid="guidSHLMainMenu" id="IDM_VS_CTXT_PROJNODE"/> 
    </Group> 
    
    <Group guid="guidVSPackage1CmdSet" id="MyMenuGroup" priority="0x0600"> 
        <Parent guid="guidSHLMainMenu" id="IDM_VS_CTXT_ITEMNODE"/> 
    </Group> 
    
    <Group guid="guidVSPackage1CmdSet" id="MyMenuGroup" priority="0x0600"> 
        <Parent guid="guidSHLMainMenu" id="IDM_VS_CTXT_FOLDERNODE"/> 
    </Group> 
    
    <Group guid="guidVSPackage1CmdSet" id="MyMenuGroup" priority="0x0600"> 
        <Parent guid="guidSHLMainMenu" id="IDM_VS_CTXT_SOLNNODE"/> 
    </Group> 
    
  3. 調試包和請參閱:這將在一個簡單的C#項目中爲解決方案,項目和項目添加條目。但是,當我創建一個ASP.NET網站項目(文件 - >新 - >網站),我不會得到這些條目,除了解決方案項目。

我相信這一定是可能的,因爲NuGet有一個網站項目項的條目。不幸的是,我無法從NuGet源代碼中提取那段代碼。

回答

6

過了一會兒,我發現一種解決方案:(I無意中看着到了StyleCop源代碼:P)

<Group guid="guidVSPackage1CmdSet" id="MyMenuGroup" priority="0x0050"> 
    <Parent guid="guidSHLMainMenu" id="IDM_VS_CTXT_WEBFOLDER"/> 
</Group> 

<Group guid="guidVSPackage1CmdSet" id="MyMenuGroup" priority="0x0050"> 
    <Parent guid="guidSHLMainMenu" id="IDM_VS_CTXT_WEBITEMNODE"/> 
</Group> 

<Group guid="guidVSPackage1CmdSet" id="MyMenuGroup" priority="0x0050"> 
    <Parent guid="guidSHLMainMenu" id="IDM_VS_CTXT_WEBPROJECT"/> 
</Group> 

這些都不是對MSDN記載。

無論如何,我很好奇NuGet是如何做到這一點的,因爲它們在vsct文件中沒有任何內容,只是在上下文菜單中有一個條目。

相關問題