如何在网站项目中添加上下文菜单条目?

Mat*_*ias 3 vsx visual-studio-2010 vsix

我无法为网站项目项添加上下文菜单条目.

如何重现问题:

  1. 创建一个VS Package项目
  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>
    
    Run Code Online (Sandbox Code Playgroud)
  3. 调试包并查看:这将在一个简单的C#项目中为解决方案,项目和项目项添加一个条目.但是当我创建一个ASP.NET网站项目(File-> New-> WebSite)时,除了解决方案项目之外我不会得到这些条目.

我确信这一定是可能的,因为NuGet有一个网站项目项的条目.遗憾的是,我无法从NuGet源代码中提取该段代码.

Mat*_*ias 7

过了一会儿我发现了一个解决方案:(我不小心查了一下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>
Run Code Online (Sandbox Code Playgroud)

MSDN上没有记录这些内容.

无论如何,我很好奇NuGet是如何做到的,因为它们在vsct文件中没有任何内容,而是在上下文菜单中有一个条目.