I am developing multiple Solid Edge addins, using the Community addin template as a starting point for each one. I have previously used the more detailed route for addin development, but I'm preferring the excellent starting point provided through the Community template. Particularly with regard to edgebar and ribbon menu setup.
I'm having problems getting multiple addins to play nicely together!
I have (hopefully) a simple question. The addin ribbon menu is getting configured by the ribbon.xml file. What is getting used for each addin CommandID? Is this the 'button id' parameter in the XML file? What is getting used for the CommandName? Is this also the 'button id', or maybe even the 'label' parameter?
I suspect I'm not seeing ribbon menus (with multiple addins enabled) because I'm not ensuring that command names or IDs are unique across each of my addins. The ribbons appear correctly when each addin is enabled on its own.
Can anyone offer some guidance with this?
I ensured button labels and ids were unique for two of the addins, but still only seeing one addin ribbon menu.
The community and solid edge interop nuget versions were different for the two addins. I ensured they were both the same and now I see both ribbon menus.
Glad you got it working but the different interop versions "shouldn't" make a difference. The templates are designed to load each addin into an isolated app domain which isolates each addin. I'll do some testing on my own but I sure would like to understand better what was going on.
Thanks Jason. Hope all is good with you!
That makes sense. Maybe it was uniqueness of the button ids/labels that fixed the issue and one more unregister/register with the updated interops got thing working. I have another few addins to test, so I will proceed slowly, one step at a time and see if I can confirm the real cause of the issue.
Do the button ids need to be unique for each addin? Is the CommandID taken from the button id parameter in the xml?
In the attached AddInTests.zip, I have 1 solution and 2 C# projects created from the addin templates. I didn't do anything but compile, register the addin, set the debug to edge.exe and started debugging. Both addins displayed correctly without any changes to the templates.
Regarding your question about the button ids, the templates take care of all of that (they're supposed to at least). The goal of the templates is to greatly reduce the complexity of creating addins. The best part (IMO), it's all open source so if you don't want to use the templates and related NuGet packages, you can always head over to the SolidEdge.Community.AddIn repository and get the source and make your own build.
I'd still like to understand why you were having the problem. Don't bother spending more time trying to figure it out for my sake because I don't want to slow your development down but if you ever do figure it out, let me know and I'll do what I can to make sure others don't have the same issue.