I'm not able to add context menu entries for website project items.
How to reproduce the problem:
Go to the vsct file and replace the groups
section with:
<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>
I'm sure this must be possible due to the fact, that NuGet has an entry for the website project item. unfortunately, I was not able to extract that piece of code from the NuGet source code.
After a while I found a solution: (I accidentally looked into the StyleCop source code :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>
These are not documented on MSDN.
Anyway, I'm curious how NuGet does it, because they have nothing in the vsct
file, but an entry in the context menu.