我正在尝试在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。
答案 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目录中的文件替换了该文件,并且可以正常工作。