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

为什么Visual Studio无法将我的Unity C#编辑器脚本编译为DLL?

问题根因
  1. 报错找不到UnityEditor命名空间,是因为你本次修改后的脚本用到了UnityEditor下的API,此前版本的脚本没有相关调用,所以不需要引用UnityEditor.dll也能编译成功。
  2. 你第二次修改命令时出现语法错误:csc编译器要求每个被引用的程序集都需要单独带/reference参数前缀,你没有给UnityEditor.dll添加该前缀,编译器会将其识别为要编译的输入源文件,自然会提示二进制文件无法处理。
修复后的编译命令
csc /target:library /out:MyDLL.DLL /reference:"C:\Program Files (x86)\Unity_3.5.1f2\Editor\Data\Managed\UnityEngine.dll" /reference:"C:\Program Files (x86)\Unity_3.5.1f2\Editor\Data\Managed\UnityEditor.dll" MyEditorScript.cs
注意事项
  • 后续如果需要引用其他Unity官方程序集,每个都要单独加/reference:前缀,也可以将参数简写为/r:简化输入
  • 编译生成的DLL依赖UnityEditor命名空间,属于编辑器扩展类代码,必须放在Unity项目的Editor目录下才能正常加载,不能用于 runtime 逻辑
  • 如果执行命令后仍提示找不到对应命名空间,检查脚本顶部是否添加了using UnityEditor;语句

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 14:15:08