You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

继承DevExpress SvgImageBox后出现Cannot resolve resource item报错问题

解决方案

该报错的核心原因是WinForms设计器的资源绑定逻辑与你修改后的自定义控件类型、类嵌套结构不匹配,导致运行时无法定位到对应的资源条目,可按以下步骤排查修复:

  • 全量清理项目缓存
    关闭VS后删除项目根目录下的bin、obj文件夹,重新打开VS执行重新生成操作,排除旧编译缓存导致的资源路径错误。
  • 修正resx文件中的控件类型绑定
    打开MyGalleryControl对应的.resx文件,找到svgImageBoxSelected相关的资源条目,将条目中绑定的类型从DevExpress.XtraEditors.SvgImageBox修改为你自定义类的完全限定名。
  • 重新生成设计器代码
    打开MyGalleryCaptionControl的设计器界面,选中svgImageBoxSelected控件,任意修改一个无关属性(比如把Margin调整后再改回原值),保存后设计器会自动重写InitializeComponent方法中的资源调用逻辑,适配新的自定义控件类型。
  • 调整嵌套类结构(核心修复点)
    你的报错中资源路径包含MyGalleryControl.MyGalleryCaptionControl,说明MyGalleryCaptionControl是定义在MyGalleryControl内部的嵌套类,WinForms设计器默认不会为嵌套的用户控件生成独立的资源映射,优先将MyGalleryCaptionControl改为独立的非嵌套类,单独存放在对应cs文件中,设计器会自动生成匹配的资源绑定规则。
    如果必须保留嵌套结构,给MyGalleryCaptionControl类添加特性[System.ComponentModel.DesignerCategory("")],手动指定资源生成逻辑。
  • 校验项目文件的资源配置
    打开.csproj项目文件,找到MyGalleryControl.resx对应的配置条目,确认Generator属性值为ResXFileCodeGenerator,CustomToolNamespace属性值和你代码中对应的命名空间MyAppModule.Win.Features.Jama.Editors完全一致。

内容的提问来源于stack exchange,提问作者Kirsten

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 08:36:04