Я опубликовал расширение Visual Studio 2010 под названием Duplicate Selection , которое в основном вызывается с помощью горячей клавиши. Однако он также имеет пункт меню в меню «Правка». Это все отлично работает, но я хотел бы изменить значок для пункта меню. Значок для пункта меню должен быть определен в файле .vsct:
<Commands package="guidDupSelectionPkg">
<Groups>
<Group guid="guidDupSelectionCmdSet" id="MyMenuGroup" priority="0x0600">
<Parent guid="guidSHLMainMenu" id="IDM_VS_MENU_EDIT"/>
</Group>
</Groups>
<Buttons>
<Button guid="guidDupSelectionCmdSet" id="cmdidDupSelection" priority="0x0100" type="Button">
<Parent guid="guidDupSelectionCmdSet" id="MyMenuGroup" />
<Icon guid="guidCmdIcon" id="bmpCmdIcon" />
<CommandFlag>DynamicVisibility</CommandFlag>
<CommandFlag>DontCache</CommandFlag>
<CommandFlag>DefaultInvisible</CommandFlag>
<Strings>
<CommandName>cmdidDupSelection</CommandName>
<ButtonText>Duplicate Selection</ButtonText>
</Strings>
</Button>
</Buttons>
<Bitmaps>
<!--<Bitmap guid="guidImages" href="Resources\Images_32bit.bmp" usedList="bmpPic1, bmpPic2, bmpPicSearch, bmpPicX, bmpPicArrows"/>-->
<Bitmap guid="guidCmdIcon" href="Resources\cmdicon.bmp" usedList="bmpCmdIcon" />
</Bitmaps>
</Commands>
<KeyBindings>
<KeyBinding guid="guidDupSelectionCmdSet" id="cmdidDupSelection" key1="D" mod1="Alt" editor="guidVSStd97"/>
</KeyBindings>
<Symbols>
<GuidSymbol name="guidDupSelectionPkg" value="{e5f7e157-f686-46b7-a588-85b08cdaa5f0}" />
<GuidSymbol name="guidDupSelectionCmdSet" value="{85dcd5f2-19a5-4ee2-a99b-4fac4dc5c4ca}">
<IDSymbol name="MyMenuGroup" value="0x1020" />
<IDSymbol name="cmdidDupSelection" value="0x0100" />
</GuidSymbol>
<!--<GuidSymbol name="guidImages" value="{63df12b7-6bf0-4b19-843d-3ec69e08439d}">
<IDSymbol name="bmpPic1" value="1" />
<IDSymbol name="bmpPic2" value="2" />
<IDSymbol name="bmpPicSearch" value="3" />
<IDSymbol name="bmpPicX" value="4" />
<IDSymbol name="bmpPicArrows" value="5" />
</GuidSymbol>-->
<GuidSymbol name="guidCmdIcon" value="{e4cc0e42-a09d-4602-a965-d2b3f7e1f496}">
<IDSymbol name="bmpCmdIcon" value="1" />
</GuidSymbol>
</Symbols>
Вы можете видеть, что я прокомментировал старые определения, которые я больше не хочу использовать, и добавил свои собственные. В верхней части у меня есть <Icon guid="guidCmdIcon" id="bmpCmdIcon" />
, который должен ссылаться на мое новое растровое изображение. Когда я запускаю проект под отладчиком, экспериментальный экземпляр VS все еще использует старый значок! Это ошибка в VS ?? Этот значок даже не определен в моем файле vsct больше. Как это могло все еще использовать это? Я что-то здесь не так сделал?
Любые предложения или предположения будут оценены. Я пробовал несколько разных вещей, но я официально поставлен в тупик.