VSCT未定义'Parent / @ id'属性

时间:2015-08-25 13:34:51

标签: c# vsix vsct

这是我第一次尝试创建视觉工作室扩展,所以如果我有点密集,请耐心等待。我一直坚持要编译vsct文件(并希望做我想做的事情,但现在我已经满足于编译了!)

我得到的错误是:

Undefined 'Parent/@id' attribute 'ToolsMenuGroup ' in a <Menu> element  MVCScaffolder
Undefined 'Parent/@id' attribute 'IDM_VS_MENU_TOOLS ' in a <Group> element  MVCScaffolder

我的目标是从“工具”菜单创建一个子菜单,作为收集我们自定义的位置。对用户来说应该是:

Tools --> County of Lancaster --> Extension 1
                                  Extension 2, etc.

根据我对How to: Create Menus, SubMenus, and Shortcut Menus的理解,我需要在其中添加几个组来保存菜单项。我认为正确的计划是:

IDM_VS_MENU_TOOLS (Tools) --> ToolsMenuGroup --> LancoMenu --> LancoMenuGroup --> Commands

这就是我创造的想法。只有编译器似乎不同意。有趣的是编译器总是能说出最后的发言权。

深深感谢任何帮助!!这就是我所拥有的:

  <?xml version="1.0" encoding="utf-8"?>
  <CommandTable 
      xmlns="http://schemas.microsoft.com/VisualStudio/2005-10-18/CommandTable" 
      xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <Extern href="stdidcmd.h"/>
    <Extern href="vsshlids.h"/>
    <Commands package="guidMVCScaffolderPackage">
      <Menus>
        <Menu guid="guidMVCScaffolderCmdSet" 
              id="LancoMenu" 
              priority="0x0100" 
              type="Menu">
          <Parent guid="guidMVCScaffolderCmdSet" 
                  id="ToolsMenuGroup "/>
          <Strings>
            <ButtonText>County of Lancaster</ButtonText>
            <CommandName>County of Lancaster</CommandName>
          </Strings>
        </Menu>
      </Menus>
      <Groups>
        <Group guid="guidMVCScaffolderCmdSet" id="ToolsMenuGroup" priority="0x0600">
          <Parent guid="guidSHLMainMenu" id="IDM_VS_MENU_TOOLS "/>
        </Group>
        <Group guid="guidMVCScaffolderCmdSet" id="LancoMenuGroup" priority="0x0600">
          <Parent guid="guidMVCScaffolderCmdSet" id="LancoMenu"/>
        </Group>
      </Groups>
      <Buttons>
        <Button guid="guidMVCScaffolderCmdSet" id="MVCScaffolderCommandId" 
                priority="0x0100" type="Button">
          <Parent guid="guidMVCScaffolderCmdSet" id="LancoMenuGroup" />
          <Strings>
            <ButtonText>MVC Domain Model Scaffolder</ButtonText>
          </Strings>
        </Button>
      </Buttons>
    </Commands>

    <Symbols>
      <GuidSymbol name="guidMVCScaffolderPackage" 
                  value="{44fd35ed-2596-4994-b72c-5b166acb077d}" />

      <GuidSymbol name="guidMVCScaffolderCmdSet" 
                  value="{4165f5d1-ccd0-4dee-97bb-f48a4f96c8ee}">
        <IDSymbol name="ToolsMenuGroup" value="0x1000"/>
        <IDSymbol name="LancoMenu" value ="0x0100"/>
        <IDSymbol name="LancoMenuGroup" value="0x0010" />
        <IDSymbol name="MVCScaffolderCommandId" value="0x0001" />
      </GuidSymbol>
    </Symbols>
  </CommandTable>

1 个答案:

答案 0 :(得分:1)

还有一个额外的空间。一旦你摆脱它就会好的。