Oops, after posting I noticed you were asking specifically about menus and not the ribbon. I will leave this for now tho in case someone else might find it useful, or a moderator could possibly move it to a more directly related thread. Sorry about that!
Not sure if this helps, but this is the manual way that I go about adding my addins to the ribbons....
In the StandardAddinServer.vb after....
Namespace YourAddinAssemblyName
<ProgIdAttribute("YourAddinAssemblyName.StandardAddInServer"), _
GuidAttribute("Your Addin's GUID here"), ComVisible(True)> PublicClassStandardAddInServer
ImplementsInventor.ApplicationAddInServer
' Inventor application object.
Private_AppAsInventor.Application
Add...
Privatem_ClientID As String = "Your Addin's GUID here"
Replacing the"Your Addin's GUID here" with your addin's GUID, do not include the brackets.
Then in your..
Public Sub Activate(ByVal addInSiteObject As Inventor.ApplicationAddInSite, _
ByVal firstTime As Boolean) _
Implements Inventor.ApplicationAddInServer.Activate
' Initialize AddIn members.
_App = addInSiteObject.Application
Define you button images. Since I use the vb.net 4.5 framework I use the AxHostConverter method.
I can provide you with that code if you need it.
' Define Button Images
' Using the AxHostConverter method to convert button images for addins using above .net4.
' Standard (Small) Icon Def.
Dim ReattachSICO = AxHostConverter.ImageToPictureDisp(YOURSMALLICON)
' Large Icon def.
Dim ReattachLICO = AxHostConverter.ImageToPictureDisp(YOURLARGEICON)
Now you need to create the command button definition.
Change the values to fit your addin parameters.
' Create the button definitions.
' Attach Button.
Attach_ButtonDef = controlDefs.AddButtonDefinition(DisplayName, InternalName, _
CommandTypesEnum.kQueryOnlyCmdType, _
m_ClientID, _
Description, _
ToolTipText, _
ReattachSICO, ReattachLICO)
' Only runs the first time you addin is activated by Inventor.
If firstTime Then
' Get the ribbon for Inventor Enviroment you need to add your button to.
' Part Ribbon
Dim PRT_RIB As Ribbon = _App.UserInterfaceManager.Ribbons.Item("Part")
' Define the tab you want your button to populate in.
Dim rTab As RibbonTab = PRT_RIB.RibbonTabs.Add(DisplayName, InternalName, _
m_cliantID, "id_TabTools")
' Define a panel insode of the tab you just created.
Dim rPanl As RibbonPanel = rTab.RibbonPanels.Add(DisplayName, InternalName, m_cliantID)
' Add you command definition to the panel you just created/referemced.
rPanl.CommandControls.AddButton(Attach_ButtonDef)
end if
Make sure that when you create new Ribbon Tabs, Panels & Buttons that you always use a different InternalName for each.
I usually name them by AssemblyName_ItemDisplayName_ObjectTyp
For example the InternalName for one of my Panels is AFR_Attach_PNL
Anyway hope that helps and doesn't confuse you!
Automation is key!