升级到.NET 5后Visual Studio 2019设计器Syncfusion RibbonControlAdv缺少智能标记
问题场景
原本可点击箭头编辑RibbonControlAdv的属性,预期效果如下:
将项目迁移到.NET 5后无法看到该箭头,实际效果如下:
但控件内部的按钮仍可正常显示智能标记箭头,效果如下:
问题原因
- .NET 5及更高版本的WinForms可视化设计器采用了和.NET Framework完全不同的进程外架构,旧版针对.NET Framework开发的控件设计时适配逻辑没有适配新设计器的API规范,会出现部分设计时功能失效的情况。
- RibbonControlAdv(常见于Syncfusion WinForms控件套件)的根控件设计器逻辑是基于.NET Framework的进程内设计器实现的,未做.NET 5+设计器的适配;而内部按钮的设计时逻辑较为简单,刚好被新设计器向下兼容,所以仅根控件的智能标记箭头消失,子控件功能正常。
- 若使用的是低于v18.4.0.30版本的Syncfusion WinForms控件,该版本之前的套件未正式提供.NET 5+的设计时支持包,也会触发该设计时功能缺失问题。
可行解决方案
- 升级Syncfusion控件套件到适配.NET 5+的正式版本,同时安装对应版本的.NET Core/.NET 5+设计时支持包。
- 若暂时无法升级控件,可直接通过Visual Studio的属性窗口编辑
RibbonControlAdv的相关属性,实现的效果和智能标记编辑完全一致。
内容的提问来源于stack exchange,提问作者Ali Bdeir
相关产品推荐
相关产品推荐

