NLua - 系统 DLL 找不到异常。

我在尝试在VB.NET中使用Lua时遇到了严重的问题。我的问题是:我如何使该库正确加载,以便它实际可用。

以下是我的尝试。

  1. 我尝试了几个NuGet中的Lua库的变化。经过一些研究,我发现了LuaInterface(在NuGet中不可用,并且官方存储库引用NLua作为它的继任者)。

  2. 启动一个新项目,只引用了来自NuGet的NLua。-- 失败

  3. 添加到NuGet的Lua引用--仍然失败

  4. 启动一个新项目,并从[GitHub](https://github.com/NLua/NLua)直接下载当前二进制文件,用于NLua --- 失败。

在所有上述情况中,我检查了构建文件夹以确保所有DLL都存在(因为Visual Studio并不总是部署所有dll - 例如SQLite库)。

我现在遇到的错误是

A first chance exception of type 'System.DllNotFoundException' occurred in KeraLua.dll

现在的一个大问题是,当我显式声明对此文件的引用时,它会创建一个冲突,因为KeraLua.dll和NLua.dll BOTH都具有具有相同参数的“Lua”方法。

它崩溃时我使用的代码非常简单

Imports NLua

Public Class Form1

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Dim l As New Lua

    End Sub
End Class

如果有人能够解释为什么这个库如此艰难或我可能做错了什么,那将不胜感激。我目前正在尝试使用此库在.net环境中公开用Lua编写的表格。我在这里看到了一些示例,它们已经过时,因为它们引用了过时的LuaInterface对象。

点赞