【发布时间】:2022-01-04 02:28:41
【问题描述】:
我有一个旧的 Unity 项目,几年前我将几个 (c#)editor-scripts 构建到一个 dll 中。 我还在大量使用dll,但是现在我对原始脚本做了一些更改,所以我想再次将它们编译成dll。
我对 dll 和编译之类的东西知之甚少,但幸运的是,我准确地写下了将其编译为 dll 所需执行的操作,即我在 Visual Studio 2010 命令提示符中输入的以下行:
csc /target:library /out:MyDLL.DLL /reference:"C:\Program Files (x86)\Unity_3.5.1f2\Editor\Data\Managed\UnityEngine.dll" MyEditorScript.cs
但是,当我这样做时,我收到错误:“错误 CS0246:找不到类型或命名空间名称‘UnityEditor’。您是否缺少 using 指令或程序集引用?”
我正在使用与当时完全相同的(旧)Unity 版本,以及相同的 Visual Studio(我确实拥有并使用了 Visual Studio 和 Unity 的新版本,在这里看起来更安全坚持以前的工作),所以我真的不明白为什么它不再工作了。 我的意思是,我知道它需要 UnityEditor dll,但是在那之前它是怎么工作的呢?
有一个 UnityEditor.dll 与我在命令提示符中引用的 UnityEngine.dll 位于同一位置,但是当我尝试添加它时(例如:csc /target:library /out:MyDLL.DLL /reference:"C:\Program Files (x86)\Unity_3.5.1f2\Editor\Data\Managed\UnityEngine.dll" "C:\Program Files (x86)\Unity_3.5.1f2\Editor\Data\Managed\UnityEditor.dll" MyEditorScript.cs)它抱怨该 dll 是某些人的二进制文件原因。
有谁知道如何解决这个问题?
【问题讨论】:
标签: c# unity3d visual-studio-2010 dll command-prompt