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

.NET 9 WinForms中找不到System.Drawing.Design.UITypeEditor的问题

在.NET 9 WinForms中找回UITypeEditor的解决方案

你遇到的问题是因为.NET Core/.NET 5+(包括.NET 9)将System.Drawing.Design.UITypeEditor这类设计时组件从默认的WinForms SDK中拆分出来,放到了独立的NuGet包中。解决步骤如下:

  • 安装必要的NuGet包:在你的.NET 9 WinForms项目中,安装System.Design包。可以通过NuGet包管理器搜索安装,或者在项目文件中添加以下引用:

    <PackageReference Include="System.Design" Version="9.0.0" />
    

    注意版本号要和你的.NET 9版本匹配。

  • 确认命名空间引用:安装完成后,你原来的代码不需要修改命名空间,System.Drawing.Design.UITypeEditor依然在这个命名空间下,直接引用即可。

你的原有代码在安装包后就能正常编译运行:

public class FileSelectorTypeEditor : System.Drawing.Design.UITypeEditor
{
    public override UITypeEditorEditStyle GetEditStyle(ITypeDescriptorContext context)
    {
        if (context == null || context.Instance == null)
            return base.GetEditStyle(context);

        return UITypeEditorEditStyle.Modal;
    }
    // 其他逻辑代码
}

简单来说,就是.NET跨平台重构后把这类设计时工具单独打包了,补装对应的NuGet包就能解决找不到类型的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 13:02:34