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

Unity 2020.1.11f1使用Xceed库创建文档时遭遇CS0012与CS1069错误的技术求助

解决Unity中Xceed库引用System.Drawing.Color的错误问题

你在Unity 2020.1.11f1里用Xceed库时碰到的System.Drawing.Color引用问题,在Unity特殊的.NET运行环境里挺常见的,我来帮你一步步梳理解决办法:

错误原因拆解

Unity默认采用** .NET Standard 2.0 **作为脚本运行时,而System.Drawing程序集并不包含在这个标准库中——这就是为什么你哪怕指定了完整命名空间,编译器还是找不到Color类型的核心原因。另外,Unity自带的UnityEngine.Color和System.Drawing.Color是完全独立的两种类型,很容易不小心混淆。

分步解决方案

1. 切换Unity脚本运行时到.NET 4.x Equivalent

先让Unity支持更完整的.NET框架程序集:

  • 打开Unity,点击顶部菜单 Edit > Project Settings
  • 左侧面板选择Player,切换到Other Settings标签页
  • 找到Configuration区域,把Scripting Runtime Version设置为** .NET 4.x Equivalent **
  • 重启Unity,让设置生效

2. 手动添加兼容的System.Drawing.dll到项目

Unity不会自动引用System.Drawing,需要手动添加适配的程序集:

  • 在项目的Assets文件夹下新建Plugins目录(如果没有的话)
  • 获取版本为4.0.0.0、PublicKeyToken为b03f5f7f11d50a3a的System.Drawing.dll,推荐从NuGet的.NET Framework 4.x包中提取,不要直接用Windows系统目录下的dll(容易和Unity环境冲突)
  • 将dll复制到Plugins文件夹中,Unity会自动识别并添加引用

3. 代码中明确区分Color类型

在代码里指定完整命名空间,避免和Unity自带的Color混淆:

// 可以在文件顶部添加using指令
using System.Drawing;

// 或者在代码中完全限定类型
s1.Color = System.Drawing.Color.Green;
s1.Bind(brazil, "Category", "Expenses");
c.AddSeries(s1);

4. 验证Xceed库的兼容性

确保你使用的Xceed库版本适配.NET 4.x环境,部分旧版本的Xceed组件在Unity的.NET 4.x运行时可能存在兼容问题,建议更换为最新稳定版。

额外注意点

如果添加dll后出现平台相关错误,可以选中Plugins里的System.Drawing.dll,在Inspector面板的Platform Settings中取消勾选不需要的平台(比如你的项目是PC端,就可以关掉移动端的勾选)。

内容的提问来源于stack exchange,提问作者влад почобут

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 23:13:11