Unity:使用外部库(SharpConfig)的问题

时间:2019-01-28 01:34:50

标签: c# unity3d dll

我正在尝试在2D Unity项目的代码中使用SharpConfig库。我下载了.zip并解压缩了.dll文件,然后将其放入项目的Assets文件夹中。在我的一个脚本中,我从该文件调用了函数,并成功编译了该文件。运行游戏时,出现错误

"Unloading broken assembly Assets/Scripts/SharpConfig.dll, this assembly can cause crashes in the runtime." 

按下按钮后,出现错误:

TypeLoadException: Could not find method due to a type load error
MenuController.LoadQuickplaySetup () (at Assets/Scripts/MenuController.cs:140)
MenuController.OnClick () (at Assets/Scripts/MenuController.cs:184)
MenuController.Update () (at Assets/Scripts/MenuController.cs:33)

从我编写的OnClick()方法(适用于每个按钮)调用LoadQuickplaySetup()的地方,该方法包含在SharpConfig库中找到的函数,而MenuController是我编写的脚本。

重新启动Unity并重试无法解决此问题。

我将如何解决此问题?我是否错过了导入库的任何步骤?

统一版本为2018.3.0f2。

2 个答案:

答案 0 :(得分:0)

发生此错误时,这意味着您导入的dll具有依赖项,并且您没有将其添加到项目中,要知道缺少的dll可以尝试创建控制台应用程序并放入

Assembly.LoadFrom(TheDLLpath);

Main方法中,然后阅读应该碰巧遇到的异常,以了解缺少的依赖项。

(您的控制台应用中可能还需要using System.Reflection;。)

答案 1 :(得分:0)

我终于解决了这个问题。 SharpConfig下载文件在SharpConfig / bin目录中包含两个文件夹DotNetCore和DotNetStandard,每个文件夹都有自己的SharpConfig.dll文件。我最初使用的是DotNetCore中的文件,但是将Unity版本从2018.3.0更新到2018.3.4之后,我用DotNetStandard目录中的文件替换了该文件,并且可以正常工作。