我无法为网站项目项添加上下文菜单条目。
如何重现问题:
转到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>
我确信这一定是可能的,因为NuGet有一个网站项目项的条目。遗憾的是,我无法从NuGet源代码中提取该段代码。
答案 0 :(得分:6)
过了一会儿我发现了一个解决方案:(我不小心查看了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
文件中没有任何内容,只是在上下文菜单中有一个条目。