A professional diagramming tool that helps users visualize complex information through easy-to-understand diagrams.
Dear @Hollister Everson,
Welcome to Microsoft Q&A Forum!
Based on the error you shared:
“The designer must create an instance of type 'Microsoft.Office.Tools.Ribbon.RibbonBase' but cannot because the type is declared abstract…”
This may typically happen when Visual Studio cannot reconstruct the Ribbon Designer class because something inside the project has changed in a way that breaks the designer’s ability to instantiate the Ribbon.
Therefore, I have several suggestions that you can try to see if they can help you:
1.Verify the Ribbon class definition:
Please kindly check Ribbon1.cs:
- Must be partial
- Must not define its own constructor
- Must not change base class
- Namespace must match the .Designer.cs file
Example of correct class:
public partial class Ribbon1 : RibbonBase
{
public Ribbon1()
: base(Globals.Factory.GetRibbonFactory())
{
InitializeComponent();
}
}
2.Check references:
You should open References and confirm:
- Microsoft.Office.Tools.Common
- Microsoft.Office.Tools.Ribbon
- Office interop assemblies
All must match:
- The version of Office installed
- The bit (32‑bit vs 64‑bit)
If mismatched > the designer fails.
3.Clean corrupted caches:
You may try:
- Close Visual Studio
- Delete:
- bin/
- obj/
- .vs/ (solution cache)
- Reopen and rebuild
This may resolve designer instantiation failures.
4.If files were merged or edited manually:
I recommend you can try this:
- Compare .Designer.cs with a working version
- Regenerate a fresh Ribbon (Designer) and manually copy his callbacks into it
This may be the safest method to fix it.
5.Create a fresh test project:
Can you create a new Visio VSTO Add‑in with a new Ribbon (Designer), does it open normally?
- If yes > the issue may be inside your project (file corruption or class mismatches).
- If no > installation or reference version may mismatch on your machine.
I hope this information can give you some insights and please feel free to update to me in comment section. Wish you a pleasant day!
Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.