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

Win10下WinForms C#项目引用类库遇System.Drawing.Common平台不支持异常求助

解决System.PlatformNotSupportedException异常(Win10下WinForms类库调用System.Drawing)

问题原因

你遇到的异常本质是类库项目的目标框架配置不匹配:从.NET 6开始,System.Drawing.Common被标记为Windows专属组件。如果你的类库项目目标框架是通用跨平台版本(比如net6.0而非net6.0-windows),或者是.NET Standard,即使主WinForms项目运行在Win10上,类库仍会被视为跨平台环境,从而触发该异常。

修复方案(无需改动项目核心逻辑)

方案1:修改类库的目标框架为Windows专属版本

  • 右键你的类库项目 → 选择「属性」
  • 切换到「应用」标签页
  • 在「目标框架」下拉菜单中,选择和主WinForms项目一致的带Windows后缀的框架版本(比如主项目是net6.0-windows,类库也选net6.0-windows)
  • 保存设置并重新编译整个解决方案

方案2:在类库的.csproj中添加强制Windows兼容配置

如果不想修改目标框架,可以手动编辑类库的.csproj文件,添加以下配置:

<PropertyGroup>
  <!-- 启用Windows Forms支持,确保System.Drawing.Common正常工作 -->
  <UseWindowsForms>true</UseWindowsForms>
  <!-- 针对.NET 6+的兼容性配置 -->
  <EnableWindowsFormsCompatibility>true</EnableWindowsFormsCompatibility>
</PropertyGroup>

保存后重新编译即可。

验证

重新运行项目,在Form1_Paint方法中传递e.Graphics给类库的Vehicle.draw方法时,异常应该会消失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 14:01:14